summaryrefslogtreecommitdiff
path: root/src/analysis/loading.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-09 11:56:15 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-09 11:56:15 (GMT)
commitbb242c2cda6a590fef652e62688c10e2d52a7ff0 (patch)
tree8d59ef7d6edc7887806906ac65938510c52c9a5b /src/analysis/loading.c
parent286878b36b5cf7a3f44251f62c94a57f0f29d3cf (diff)
Simplified the content loading handling.
Diffstat (limited to 'src/analysis/loading.c')
-rw-r--r--src/analysis/loading.c244
1 files changed, 90 insertions, 154 deletions
diff --git a/src/analysis/loading.c b/src/analysis/loading.c
index f2ae882..5e0f651 100644
--- a/src/analysis/loading.c
+++ b/src/analysis/loading.c
@@ -30,6 +30,7 @@
#include "../core/global.h"
+#include "../glibext/chrysamarshal.h"
#include "../glibext/delayed-int.h"
#include "../plugins/pglist.h"
@@ -51,7 +52,7 @@ typedef struct _GExploringWork
{
GDelayedWork parent; /* A laisser en premier */
- const gid_t *gid; /* Groupe d'appartenance */
+ const wgroup_id_t *wid; /* Groupe d'appartenance */
GBinContent *content; /* Contenu brut à disposition */
@@ -84,10 +85,10 @@ static void g_exploring_work_finalize(GExploringWork *);
static GExploringWork *g_exploring_work_new(GBinContent *);
/* Fournit l'identifiant du groupe de rattachement de la tâche. */
-static gid_t g_exploring_work_get_group_id(const GExploringWork *);
+static wgroup_id_t g_exploring_work_get_group_id(const GExploringWork *);
/* Définit l'identifiant du groupe de rattachement de la tâche. */
-static void g_exploring_work_set_group_id(GExploringWork *, const gid_t *);
+static void g_exploring_work_set_group_id(GExploringWork *, const wgroup_id_t *);
/* Réalise l'exploration effective de formes de contenus. */
static void g_exploring_work_process(GExploringWork *, GtkStatusStack *);
@@ -102,8 +103,7 @@ typedef struct _exploring_group
{
GBinContent *original; /* Contenu binaire initial */
- wgroup_id_t wid; /* Groupe de travail */
- gid_t gid; /* Groupe d'appartenance */
+ wgroup_id_t wid; /* Groupe d'appartenance */
GBinContent **contents; /* Contenus reconnus dispos. */
size_t count; /* Taille de cette liste */
@@ -115,8 +115,6 @@ struct _GContentExplorer
{
GObject parent; /* A laisser en premier */
- gid_t generator; /* Générateur d'identifiants */
-
exploring_group *groups; /* Rassemblement de chargements*/
size_t count; /* Nombre de ces groupes */
GMutex mutex; /* Accès protégé à la liste */
@@ -130,7 +128,7 @@ struct _GContentExplorerClass
/* Signaux */
- void (* explored) (GContentExplorer *, gid_t);
+ void (* explored) (GContentExplorer *, wgroup_id_t);
};
@@ -148,7 +146,7 @@ static void g_content_explorer_dispose(GContentExplorer *);
static void g_content_explorer_finalize(GContentExplorer *);
/* Retrouve le groupe correspondant à un identifiant donné. */
-static exploring_group *g_content_explorer_find_group(GContentExplorer *, gid_t);
+static exploring_group *g_content_explorer_find_group(GContentExplorer *, wgroup_id_t);
/* Note la fin d'une phase d'exploration de contenu. */
static void g_content_explorer_ack(GContentExplorer *, GExploringWork *);
@@ -171,7 +169,7 @@ typedef struct _GResolvingWork
{
GDelayedWork parent; /* A laisser en premier */
- const gid_t *gid; /* Groupe d'appartenance */
+ const wgroup_id_t *wid; /* Groupe d'appartenance */
GBinContent *content; /* Contenu brut à disposition */
@@ -204,10 +202,10 @@ static void g_resolving_work_finalize(GResolvingWork *);
static GResolvingWork *g_resolving_work_new(GBinContent *);
/* Fournit l'identifiant du groupe de rattachement de la tâche. */
-static gid_t g_resolving_work_get_group_id(const GResolvingWork *);
+static wgroup_id_t g_resolving_work_get_group_id(const GResolvingWork *);
/* Définit l'identifiant du groupe de rattachement de la tâche. */
-static void g_resolving_work_set_group_id(GResolvingWork *, const gid_t *);
+static void g_resolving_work_set_group_id(GResolvingWork *, const wgroup_id_t *);
/* Réalise la conversion effective de formes de contenus. */
static void g_resolving_work_process(GResolvingWork *, GtkStatusStack *);
@@ -222,7 +220,7 @@ typedef struct _resolving_group
{
size_t remaining; /* Nombre de tâches restantes */
- const gid_t *gid; /* Groupe d'appartenance */
+ const wgroup_id_t *wid; /* Groupe d'appartenance */
GLoadedContent **loaded; /* Contenus reconnus à intégrer*/
size_t count; /* Taille de cette liste */
@@ -247,7 +245,7 @@ struct _GContentResolverClass
/* Signaux */
- void (* resolved) (GContentResolver *, gid_t);
+ void (* resolved) (GContentResolver *, wgroup_id_t);
};
@@ -265,7 +263,7 @@ static void g_content_resolver_dispose(GContentResolver *);
static void g_content_resolver_finalize(GContentResolver *);
/* Retrouve le groupe correspondant à un identifiant donné. */
-static resolving_group *g_content_resolver_find_group(GContentResolver *, gid_t);
+static resolving_group *g_content_resolver_find_group(GContentResolver *, wgroup_id_t);
/* Note la fin d'une phase de resolution de contenu. */
static void g_content_resolver_ack(GContentResolver *, GResolvingWork *);
@@ -324,7 +322,7 @@ static void g_exploring_work_class_init(GExploringWorkClass *klass)
static void g_exploring_work_init(GExploringWork *work)
{
- work->gid = NULL;
+ work->wid = NULL;
work->content = NULL;
@@ -409,13 +407,13 @@ static GExploringWork *g_exploring_work_new(GBinContent *content)
* *
******************************************************************************/
-static gid_t g_exploring_work_get_group_id(const GExploringWork *work)
+static wgroup_id_t g_exploring_work_get_group_id(const GExploringWork *work)
{
- gid_t result; /* Identifiant à retourner */
+ wgroup_id_t result; /* Identifiant à retourner */
- assert(work->gid != NULL);
+ assert(work->wid != NULL);
- result = *work->gid;
+ result = *work->wid;
return result;
@@ -425,7 +423,7 @@ static gid_t g_exploring_work_get_group_id(const GExploringWork *work)
/******************************************************************************
* *
* Paramètres : work = instance à compléter. *
-* gid = identifiant d'un même ensemble d'explorations. *
+* wid = identifiant d'un même ensemble d'explorations. *
* *
* Description : Définit l'identifiant du groupe de rattachement de la tâche. *
* *
@@ -435,9 +433,9 @@ static gid_t g_exploring_work_get_group_id(const GExploringWork *work)
* *
******************************************************************************/
-static void g_exploring_work_set_group_id(GExploringWork *work, const gid_t *gid)
+static void g_exploring_work_set_group_id(GExploringWork *work, const wgroup_id_t *wid)
{
- work->gid = gid;
+ work->wid = wid;
}
@@ -457,11 +455,11 @@ static void g_exploring_work_set_group_id(GExploringWork *work, const gid_t *gid
static void g_exploring_work_process(GExploringWork *work, GtkStatusStack *status)
{
- gid_t gid; /* Groupe d'appartenance */
+ wgroup_id_t wid; /* Groupe d'appartenance */
- gid = g_exploring_work_get_group_id(work);
+ wid = g_exploring_work_get_group_id(work);
- handle_binary_content(PGA_CONTENT_EXPLORER, work->content, gid, status);
+ handle_binary_content(PGA_CONTENT_EXPLORER, work->content, wid, status);
}
@@ -502,8 +500,8 @@ static void g_content_explorer_class_init(GContentExplorerClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(GContentExplorerClass, explored),
NULL, NULL,
- g_cclosure_marshal_VOID__UINT,
- G_TYPE_NONE, 1, G_TYPE_UINT);
+ g_cclosure_user_marshal_VOID__UINT64,
+ G_TYPE_NONE, 1, G_TYPE_UINT64);
}
@@ -522,8 +520,6 @@ static void g_content_explorer_class_init(GContentExplorerClass *klass)
static void g_content_explorer_init(GContentExplorer *explorer)
{
- explorer->generator = 0;
-
explorer->groups = NULL;
explorer->count = 0;
@@ -547,7 +543,7 @@ static void g_content_explorer_init(GContentExplorer *explorer)
static void g_content_explorer_dispose(GContentExplorer *explorer)
{
while (explorer->count > 0)
- g_content_explorer_delete_group(explorer, explorer->groups[0].gid);
+ g_content_explorer_delete_group(explorer, explorer->groups[0].wid);
if (explorer->groups != NULL)
free(explorer->groups);
@@ -604,7 +600,7 @@ GContentExplorer *g_content_explorer_new(void)
/******************************************************************************
* *
* Paramètres : explorer = gestionnaire d'explorations à consulter. *
-* gid = identifiant du groupe recherché. *
+* wid = identifiant du groupe recherché. *
* *
* Description : Retrouve le groupe correspondant à un identifiant donné. *
* *
@@ -614,7 +610,7 @@ GContentExplorer *g_content_explorer_new(void)
* *
******************************************************************************/
-static exploring_group *g_content_explorer_find_group(GContentExplorer *explorer, gid_t gid)
+static exploring_group *g_content_explorer_find_group(GContentExplorer *explorer, wgroup_id_t wid)
{
exploring_group *result; /* Trouvaille à retourner */
size_t i; /* Boucle de parcours */
@@ -624,7 +620,7 @@ static exploring_group *g_content_explorer_find_group(GContentExplorer *explorer
result = NULL;
for (i = 0; i < explorer->count && result == NULL; i++)
- if (explorer->groups[i].gid == gid)
+ if (explorer->groups[i].wid == wid)
result = &explorer->groups[i];
return result;
@@ -647,16 +643,16 @@ static exploring_group *g_content_explorer_find_group(GContentExplorer *explorer
static void g_content_explorer_ack(GContentExplorer *explorer, GExploringWork *work)
{
- gid_t gid; /* Groupe d'appartenance */
+ wgroup_id_t wid; /* Groupe d'appartenance */
exploring_group *group; /* Groupe d'opération concerné */
GWorkQueue *queue; /* Gestionnaire de différés */
bool empty; /* Fin de l'exploration ? */
- gid = g_exploring_work_get_group_id(work);
+ wid = g_exploring_work_get_group_id(work);
g_mutex_lock(&explorer->mutex);
- group = g_content_explorer_find_group(explorer, gid);
+ group = g_content_explorer_find_group(explorer, wid);
assert(group != NULL);
queue = get_work_queue();
@@ -666,7 +662,7 @@ static void g_content_explorer_ack(GContentExplorer *explorer, GExploringWork *w
g_mutex_unlock(&explorer->mutex);
if (empty)
- g_signal_emit_by_name(explorer, "explored", gid);
+ g_signal_emit_by_name(explorer, "explored", wid);
}
@@ -684,47 +680,26 @@ static void g_content_explorer_ack(GContentExplorer *explorer, GExploringWork *w
* *
******************************************************************************/
-const gid_t *g_content_explorer_create_group(GContentExplorer *explorer, GBinContent *content)
+const wgroup_id_t *g_content_explorer_create_group(GContentExplorer *explorer, GBinContent *content)
{
- const gid_t *result; /* Identifiant à retourner */
- gid_t loop; /* Détection de boucle */
- gid_t id; /* Nouvelle identifiant généré */
- exploring_group *group; /* Groupe ciblé par l'opération*/
+ const wgroup_id_t *result; /* Identifiant à retourner */
GWorkQueue *queue; /* Gestionnaire de différés */
+ wgroup_id_t new; /* Nouvel identifiant */
+ exploring_group *group; /* Groupe ciblé par l'opération*/
GExploringWork *work; /* Nouvelle vague d'exploration*/
g_mutex_lock(&explorer->mutex);
/* Récupération d'un identifiant libre */
- /**
- * Note :
- *
- * Comme 0 est l'identifiant du groupe de travail par défaut (DEFAULT_WORK_GROUP)
- * et qu'il n'est pas possible de bloquer ce groupe lors des appels à
- * g_work_queue_is_empty(), on différencie les identifiants de groupes
- * de contenus et les identifiants de groupes de travail.
- */
-
- loop = explorer->generator;
-
- do
- {
- id = ++explorer->generator;
-
- /* Verification de la satisfaisabilité de la création */
-
- assert(id != loop);
-
- /* Vérification que la place est libre... */
-
- group = g_content_explorer_find_group(explorer, id);
+ queue = get_work_queue();
- if (group == NULL)
- break;
+ new = g_work_queue_define_work_group(queue);
- }
- while (1);
+#ifndef NDEBUG
+ group = g_content_explorer_find_group(explorer, new);
+ assert(group == NULL);
+#endif
/* Mise en place du groupe */
@@ -735,12 +710,9 @@ const gid_t *g_content_explorer_create_group(GContentExplorer *explorer, GBinCon
group->original = content;
g_object_ref(G_OBJECT(content));
- queue = get_work_queue();
-
- group->wid = g_work_queue_define_work_group(queue);
- group->gid = id;
+ group->wid = new;
- result = &group->gid;
+ result = &group->wid;
group->contents = NULL;
group->count = 0;
@@ -748,7 +720,7 @@ const gid_t *g_content_explorer_create_group(GContentExplorer *explorer, GBinCon
/* Alimentation du contenu initial */
work = g_exploring_work_new(content);
- g_exploring_work_set_group_id(work, &group->gid);
+ g_exploring_work_set_group_id(work, &group->wid);
g_signal_connect_swapped(work, "work-completed", G_CALLBACK(g_content_explorer_ack), explorer);
@@ -764,39 +736,7 @@ const gid_t *g_content_explorer_create_group(GContentExplorer *explorer, GBinCon
/******************************************************************************
* *
* Paramètres : explorer = gestionnaire d'explorations à manipuler. *
-* gid = identifiant du groupe à consulter. *
-* *
-* Description : Fournit l'identifiant attribué pour les tâches parallèles. *
-* *
-* Retour : Identifiant des tâches liées au groupe. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-const wgroup_id_t *g_content_explorer_get_group_work_id(GContentExplorer *explorer, gid_t gid)
-{
- const wgroup_id_t *result; /* Identifiant à retourner */
- exploring_group *group; /* Groupe d'opération concerné */
-
- g_mutex_lock(&explorer->mutex);
-
- group = g_content_explorer_find_group(explorer, gid);
- assert(group != NULL);
-
- result = &group->wid;
-
- g_mutex_unlock(&explorer->mutex);
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : explorer = gestionnaire d'explorations à manipuler. *
-* gid = identifiant du groupe à supprimer. *
+* wid = identifiant du groupe à supprimer. *
* *
* Description : Termine une vague d'exploration de contenu. *
* *
@@ -806,11 +746,8 @@ const wgroup_id_t *g_content_explorer_get_group_work_id(GContentExplorer *explor
* *
******************************************************************************/
-void g_content_explorer_delete_group(GContentExplorer *explorer, gid_t gid)
+void g_content_explorer_delete_group(GContentExplorer *explorer, wgroup_id_t wid)
{
-
-
-
exploring_group *group; /* Groupe ciblé par l'opération*/
GWorkQueue *queue; /* Gestionnaire de différés */
size_t i; /* Boucle de parcours */
@@ -818,7 +755,7 @@ void g_content_explorer_delete_group(GContentExplorer *explorer, gid_t gid)
g_mutex_lock(&explorer->mutex);
- group = g_content_explorer_find_group(explorer, gid);
+ group = g_content_explorer_find_group(explorer, wid);
/* Supression des contenus chargés */
@@ -850,7 +787,7 @@ void g_content_explorer_delete_group(GContentExplorer *explorer, gid_t gid)
/******************************************************************************
* *
* Paramètres : explorer = gestionnaire d'explorations à consulter. *
-* gid = identifiant du groupe à parcourir. *
+* wid = identifiant du groupe à parcourir. *
* content = nouveau contenu à intégrer. *
* *
* Description : Ajoute un nouveau contenu découvert au crédit d'un groupe. *
@@ -861,7 +798,7 @@ void g_content_explorer_delete_group(GContentExplorer *explorer, gid_t gid)
* *
******************************************************************************/
-void g_content_explorer_populate_group(GContentExplorer *explorer, gid_t gid, GBinContent *content)
+void g_content_explorer_populate_group(GContentExplorer *explorer, wgroup_id_t wid, GBinContent *content)
{
exploring_group *group; /* Groupe d'opération concerné */
GWorkQueue *queue; /* Gestionnaire de différés */
@@ -869,7 +806,7 @@ void g_content_explorer_populate_group(GContentExplorer *explorer, gid_t gid, GB
g_mutex_lock(&explorer->mutex);
- group = g_content_explorer_find_group(explorer, gid);
+ group = g_content_explorer_find_group(explorer, wid);
assert(group != NULL);
/* Conservation du résultat */
@@ -881,7 +818,7 @@ void g_content_explorer_populate_group(GContentExplorer *explorer, gid_t gid, GB
/* Relancement des explorations */
work = g_exploring_work_new(content);
- g_exploring_work_set_group_id(work, &group->gid);
+ g_exploring_work_set_group_id(work, &group->wid);
g_signal_connect_swapped(work, "work-completed", G_CALLBACK(g_content_explorer_ack), explorer);
@@ -897,7 +834,7 @@ void g_content_explorer_populate_group(GContentExplorer *explorer, gid_t gid, GB
/******************************************************************************
* *
* Paramètres : explorer = gestionnaire d'explorations à consulter. *
-* gid = identifiant du groupe à parcourir. *
+* wid = identifiant du groupe à parcourir. *
* count = nombre de contenus binaires retournés. [OUT] *
* *
* Description : Fournit la liste de tous les contenus disponibles. *
@@ -908,7 +845,7 @@ void g_content_explorer_populate_group(GContentExplorer *explorer, gid_t gid, GB
* *
******************************************************************************/
-GBinContent **g_content_explorer_get_all(GContentExplorer *explorer, gid_t gid, size_t *count)
+GBinContent **g_content_explorer_get_all(GContentExplorer *explorer, wgroup_id_t wid, size_t *count)
{
GBinContent **result; /* Trouvailles à retourner */
exploring_group *group; /* Groupe d'opération concerné */
@@ -916,7 +853,7 @@ GBinContent **g_content_explorer_get_all(GContentExplorer *explorer, gid_t gid,
g_mutex_lock(&explorer->mutex);
- group = g_content_explorer_find_group(explorer, gid);
+ group = g_content_explorer_find_group(explorer, wid);
assert(group != NULL);
/* Allocation de la liste finale */
@@ -1000,7 +937,7 @@ static void g_resolving_work_class_init(GResolvingWorkClass *klass)
static void g_resolving_work_init(GResolvingWork *work)
{
- work->gid = NULL;
+ work->wid = NULL;
work->content = NULL;
@@ -1085,13 +1022,13 @@ static GResolvingWork *g_resolving_work_new(GBinContent *content)
* *
******************************************************************************/
-static gid_t g_resolving_work_get_group_id(const GResolvingWork *work)
+static wgroup_id_t g_resolving_work_get_group_id(const GResolvingWork *work)
{
- gid_t result; /* Identifiant à retourner */
+ wgroup_id_t result; /* Identifiant à retourner */
- assert(work->gid != NULL);
+ assert(work->wid != NULL);
- result = *work->gid;
+ result = *work->wid;
return result;
@@ -1101,7 +1038,7 @@ static gid_t g_resolving_work_get_group_id(const GResolvingWork *work)
/******************************************************************************
* *
* Paramètres : work = instance à compléter. *
-* gid = identifiant d'un même ensemble de conversions. *
+* wid = identifiant d'un même ensemble de conversions. *
* *
* Description : Définit l'identifiant du groupe de rattachement de la tâche. *
* *
@@ -1111,9 +1048,9 @@ static gid_t g_resolving_work_get_group_id(const GResolvingWork *work)
* *
******************************************************************************/
-static void g_resolving_work_set_group_id(GResolvingWork *work, const gid_t *gid)
+static void g_resolving_work_set_group_id(GResolvingWork *work, const wgroup_id_t *wid)
{
- work->gid = gid;
+ work->wid = wid;
}
@@ -1133,11 +1070,11 @@ static void g_resolving_work_set_group_id(GResolvingWork *work, const gid_t *gid
static void g_resolving_work_process(GResolvingWork *work, GtkStatusStack *status)
{
- gid_t gid; /* Groupe d'appartenance */
+ wgroup_id_t wid; /* Groupe d'appartenance */
- gid = g_resolving_work_get_group_id(work);
+ wid = g_resolving_work_get_group_id(work);
- handle_binary_content(PGA_CONTENT_RESOLVER, work->content, gid, status);
+ handle_binary_content(PGA_CONTENT_RESOLVER, work->content, wid, status);
}
@@ -1178,8 +1115,8 @@ static void g_content_resolver_class_init(GContentResolverClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(GContentResolverClass, resolved),
NULL, NULL,
- g_cclosure_marshal_VOID__UINT,
- G_TYPE_NONE, 1, G_TYPE_UINT);
+ g_cclosure_user_marshal_VOID__UINT64,
+ G_TYPE_NONE, 1, G_TYPE_UINT64);
}
@@ -1217,7 +1154,7 @@ static void g_content_resolver_init(GContentResolver *resolver)
static void g_content_resolver_dispose(GContentResolver *resolver)
{
while (resolver->count > 0)
- g_content_resolver_delete_group(resolver, *resolver->groups[0].gid);
+ g_content_resolver_delete_group(resolver, *resolver->groups[0].wid);
if (resolver->groups != NULL)
free(resolver->groups);
@@ -1274,7 +1211,7 @@ GContentResolver *g_content_resolver_new(void)
/******************************************************************************
* *
* Paramètres : resolver = gestionnaire de résolutions à consulter. *
-* gid = identifiant du groupe recherché. *
+* wid = identifiant du groupe recherché. *
* *
* Description : Retrouve le groupe correspondant à un identifiant donné. *
* *
@@ -1284,7 +1221,7 @@ GContentResolver *g_content_resolver_new(void)
* *
******************************************************************************/
-static resolving_group *g_content_resolver_find_group(GContentResolver *resolver, gid_t gid)
+static resolving_group *g_content_resolver_find_group(GContentResolver *resolver, wgroup_id_t wid)
{
resolving_group *result; /* Trouvaille à retourner */
size_t i; /* Boucle de parcours */
@@ -1294,7 +1231,7 @@ static resolving_group *g_content_resolver_find_group(GContentResolver *resolver
result = NULL;
for (i = 0; i < resolver->count && result == NULL; i++)
- if (*resolver->groups[i].gid == gid)
+ if (*resolver->groups[i].wid == wid)
result = &resolver->groups[i];
return result;
@@ -1317,15 +1254,15 @@ static resolving_group *g_content_resolver_find_group(GContentResolver *resolver
static void g_content_resolver_ack(GContentResolver *resolver, GResolvingWork *work)
{
- gid_t gid; /* Groupe d'appartenance */
+ wgroup_id_t wid; /* Groupe d'appartenance */
resolving_group *group; /* Groupe d'opération concerné */
bool empty; /* Fin de l'resolvation ? */
- gid = g_resolving_work_get_group_id(work);
+ wid = g_resolving_work_get_group_id(work);
g_mutex_lock(&resolver->mutex);
- group = g_content_resolver_find_group(resolver, gid);
+ group = g_content_resolver_find_group(resolver, wid);
assert(group != NULL);
assert(group->remaining > 0);
@@ -1335,7 +1272,7 @@ static void g_content_resolver_ack(GContentResolver *resolver, GResolvingWork *w
g_mutex_unlock(&resolver->mutex);
if (empty)
- g_signal_emit_by_name(resolver, "resolved", gid);
+ g_signal_emit_by_name(resolver, "resolved", wid);
}
@@ -1344,7 +1281,6 @@ static void g_content_resolver_ack(GContentResolver *resolver, GResolvingWork *w
* *
* Paramètres : resolver = gestionnaire de résolutions à manipuler. *
* wid = identifiant du groupe de tâches réservé. *
-* gid = identifiant unique généré en amont. *
* contents = contenus à analyser. *
* count = nombre de ces contenus. *
* *
@@ -1356,7 +1292,7 @@ static void g_content_resolver_ack(GContentResolver *resolver, GResolvingWork *w
* *
******************************************************************************/
-void g_content_resolver_create_group(GContentResolver *resolver, const wgroup_id_t *wid, const gid_t *gid, GBinContent **contents, size_t count)
+void g_content_resolver_create_group(GContentResolver *resolver, const wgroup_id_t *wid, GBinContent **contents, size_t count)
{
resolving_group *group; /* Groupe ciblé par l'opération*/
GWorkQueue *queue; /* Gestionnaire de différés */
@@ -1373,7 +1309,7 @@ void g_content_resolver_create_group(GContentResolver *resolver, const wgroup_id
group->remaining = count;
- group->gid = gid;
+ group->wid = wid;
group->loaded = NULL;
group->count = 0;
@@ -1385,7 +1321,7 @@ void g_content_resolver_create_group(GContentResolver *resolver, const wgroup_id
for (i = 0; i < count; i++)
{
work = g_resolving_work_new(contents[i]);
- g_resolving_work_set_group_id(work, gid);
+ g_resolving_work_set_group_id(work, wid);
g_signal_connect_swapped(work, "work-completed", G_CALLBACK(g_content_resolver_ack), resolver);
@@ -1401,7 +1337,7 @@ void g_content_resolver_create_group(GContentResolver *resolver, const wgroup_id
/******************************************************************************
* *
* Paramètres : resolver = gestionnaire d'explorations à manipuler. *
-* gid = identifiant du groupe à supprimer. *
+* wid = identifiant du groupe à supprimer. *
* *
* Description : Termine une vague de résolution de contenu. *
* *
@@ -1411,7 +1347,7 @@ void g_content_resolver_create_group(GContentResolver *resolver, const wgroup_id
* *
******************************************************************************/
-void g_content_resolver_delete_group(GContentResolver *resolver, gid_t gid)
+void g_content_resolver_delete_group(GContentResolver *resolver, wgroup_id_t wid)
{
resolving_group *group; /* Groupe ciblé par l'opération*/
size_t i; /* Boucle de parcours */
@@ -1419,7 +1355,7 @@ void g_content_resolver_delete_group(GContentResolver *resolver, gid_t gid)
g_mutex_lock(&resolver->mutex);
- group = g_content_resolver_find_group(resolver, gid);
+ group = g_content_resolver_find_group(resolver, wid);
/* Supression des contenus chargés */
@@ -1447,7 +1383,7 @@ void g_content_resolver_delete_group(GContentResolver *resolver, gid_t gid)
/******************************************************************************
* *
* Paramètres : resolver = gestionnaire de résolutions à consulter. *
-* gid = identifiant du groupe recherché. *
+* wid = identifiant du groupe recherché. *
* loaded = contenu chargé et pouvant être représenté. *
* *
* Description : Intègre un contenu chargé dans les résultats. *
@@ -1458,13 +1394,13 @@ void g_content_resolver_delete_group(GContentResolver *resolver, gid_t gid)
* *
******************************************************************************/
-void g_content_resolver_add_detected(GContentResolver *resolver, gid_t gid, GLoadedContent *loaded)
+void g_content_resolver_add_detected(GContentResolver *resolver, wgroup_id_t wid, GLoadedContent *loaded)
{
resolving_group *group; /* Groupe ciblé par l'opération*/
g_mutex_lock(&resolver->mutex);
- group = g_content_resolver_find_group(resolver, gid);
+ group = g_content_resolver_find_group(resolver, wid);
group->loaded = (GLoadedContent **)realloc(group->loaded, ++group->count * sizeof(GLoadedContent *));
@@ -1478,7 +1414,7 @@ void g_content_resolver_add_detected(GContentResolver *resolver, gid_t gid, GLoa
/******************************************************************************
* *
* Paramètres : resolver = gestionnaire de resolutions à consulter. *
-* gid = identifiant du groupe à parcourir. *
+* wid = identifiant du groupe à parcourir. *
* count = nombre de contenus binaires retournés. [OUT] *
* *
* Description : Fournit la liste de tous les contenus chargés valables. *
@@ -1489,7 +1425,7 @@ void g_content_resolver_add_detected(GContentResolver *resolver, gid_t gid, GLoa
* *
******************************************************************************/
-GLoadedContent **g_content_resolver_get_all(GContentResolver *resolver, gid_t gid, size_t *count)
+GLoadedContent **g_content_resolver_get_all(GContentResolver *resolver, wgroup_id_t wid, size_t *count)
{
GLoadedContent **result; /* Trouvailles à retourner */
resolving_group *group; /* Groupe d'opération concerné */
@@ -1497,7 +1433,7 @@ GLoadedContent **g_content_resolver_get_all(GContentResolver *resolver, gid_t gi
g_mutex_lock(&resolver->mutex);
- group = g_content_resolver_find_group(resolver, gid);
+ group = g_content_resolver_find_group(resolver, wid);
assert(group != NULL);
/* Allocation de la liste finale */