diff options
Diffstat (limited to 'src/analysis')
| -rw-r--r-- | src/analysis/loading.c | 114 | ||||
| -rw-r--r-- | src/analysis/loading.h | 8 | ||||
| -rw-r--r-- | src/analysis/project.c | 12 | 
3 files changed, 6 insertions, 128 deletions
| diff --git a/src/analysis/loading.c b/src/analysis/loading.c index a376b4b..842628d 100644 --- a/src/analysis/loading.c +++ b/src/analysis/loading.c @@ -113,9 +113,6 @@ typedef struct _exploring_group      GBinContent **contents;                 /* Contenus reconnus dispos.   */      size_t count;                           /* Taille de cette liste       */ -    GLoadedContent **loaded;                /* Contenus reconnus à intégrer*/ -    size_t noted;                           /* Taille de cette liste       */ -  } exploring_group;  /* Exploration de contenus binaires (instance) */ @@ -732,9 +729,6 @@ wgroup_id_t g_content_explorer_create_group(GContentExplorer *explorer, GBinCont      group->contents = NULL;      group->count = 0; -    group->loaded = NULL; -    group->noted = 0; -      /* Alimentation du contenu initial */      work = g_exploring_work_new(content); @@ -790,12 +784,6 @@ void g_content_explorer_delete_group(GContentExplorer *explorer, wgroup_id_t wid      if (group->contents != NULL)          free(group->contents); -    for (i = 0; i < group->noted; i++) -        g_object_unref(G_OBJECT(group->loaded[i])); - -    if (group->loaded != NULL) -        free(group->loaded); -      /* Réorganisation de la liste */      index = group - explorer->groups; @@ -866,39 +854,6 @@ void g_content_explorer_populate_group(GContentExplorer *explorer, wgroup_id_t w  /******************************************************************************  *                                                                             *  *  Paramètres  : explorer = gestionnaire d'explorations à consulter.          * -*                wid      = identifiant du groupe recherché.                  * -*                loaded   = contenu chargé et pouvant être représenté.        * -*                                                                             * -*  Description : Note un contenu chargé pour future intégration guidée.       * -*                                                                             * -*  Retour      : -                                                            * -*                                                                             * -*  Remarques   : -                                                            * -*                                                                             * -******************************************************************************/ - -void g_content_explorer_note_detected(GContentExplorer *explorer, wgroup_id_t wid, GLoadedContent *loaded) -{ -    exploring_group *group;                 /* Groupe d'opération concerné */ - -    g_mutex_lock(&explorer->mutex); - -    group = g_content_explorer_find_group(explorer, wid); -    assert(group != NULL); - -    group->loaded = realloc(group->loaded, ++group->noted * sizeof(GLoadedContent *)); - -    group->loaded[group->noted - 1] = loaded; -    g_object_ref(G_OBJECT(loaded)); - -    g_mutex_unlock(&explorer->mutex); - -} - - -/****************************************************************************** -*                                                                             * -*  Paramètres  : explorer = gestionnaire d'explorations à consulter.          *  *                wid      = identifiant du groupe à parcourir.                *  *                count    = nombre de contenus binaires retournés. [OUT]      *  *                                                                             * @@ -949,53 +904,6 @@ GBinContent **g_content_explorer_get_all(GContentExplorer *explorer, wgroup_id_t  } -/****************************************************************************** -*                                                                             * -*  Paramètres  : explorer = gestionnaire d'explorations à consulter.          * -*                wid      = identifiant du groupe à parcourir.                * -*                noted    = nombre de contenus chargés retournés. [OUT]       * -*                                                                             * -*  Description : Fournit la liste de tous les contenus préalablement détectés.* -*                                                                             * -*  Retour      : Liste de contenus chargés enregistrés.                       * -*                                                                             * -*  Remarques   : -                                                            * -*                                                                             * -******************************************************************************/ - -GLoadedContent **g_content_explorer_get_detected(GContentExplorer *explorer, wgroup_id_t wid, size_t *noted) -{ -    GLoadedContent **result;                /* Trouvailles à retourner      */ -    exploring_group *group;                 /* Groupe d'opération concerné */ -    size_t i;                               /* Boucle de parcours          */ - -    g_mutex_lock(&explorer->mutex); - -    group = g_content_explorer_find_group(explorer, wid); -    assert(group != NULL); - -    /* Allocation de la liste finale */ - -    *noted = group->noted; -    result = (GLoadedContent **)malloc(*noted * sizeof(GLoadedContent *)); - -    /* On parcourt les éventuels contenus encapsulés découverts */ - -    for (i = 0; i < group->noted; i++) -    { -        result[i] = group->loaded[i]; - -        g_object_ref(G_OBJECT(result[i])); - -    } - -    g_mutex_unlock(&explorer->mutex); - -    return result; - -} - -  /* ---------------------------------------------------------------------------------- */  /*                           TACHE DE RESOLUTION DE CONTENU                           */ @@ -1401,8 +1309,6 @@ static void g_content_resolver_ack(GContentResolver *resolver, GResolvingWork *w  *                wid      = identifiant du groupe de tâches réservé.          *  *                contents = contenus à analyser.                              *  *                count    = nombre de ces contenus.                           * -*                detected = contenus préalablement détectés.                  * -*                noted    = nombre de contenus chargés.                       *  *                                                                             *  *  Description : Initie une nouvelle vague de résolution de contenus.         *  *                                                                             * @@ -1412,7 +1318,7 @@ static void g_content_resolver_ack(GContentResolver *resolver, GResolvingWork *w  *                                                                             *  ******************************************************************************/ -void g_content_resolver_create_group(GContentResolver *resolver, wgroup_id_t wid, GBinContent **contents, size_t count, GLoadedContent **detected, size_t noted) +void g_content_resolver_create_group(GContentResolver *resolver, 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    */ @@ -1434,21 +1340,6 @@ void g_content_resolver_create_group(GContentResolver *resolver, wgroup_id_t wid      group->loaded = NULL;      group->count = 0; -    /* Insertion des résultats préalables */ - -    if (noted > 0) -    { -        group->count = noted; -        group->loaded = realloc(group->loaded, group->count * sizeof(GLoadedContent *)); - -        for (i = 0; i < noted; i++) -        { -            group->loaded[i] = detected[i]; -            g_object_ref(G_OBJECT(detected[i])); -        } - -    } -      /* Alimentation du contenu initial */      queue = get_work_queue(); @@ -1466,6 +1357,9 @@ void g_content_resolver_create_group(GContentResolver *resolver, wgroup_id_t wid      g_mutex_unlock(&resolver->mutex); +    if (count == 0) +        g_signal_emit_by_name(resolver, "resolved", wid); +  } diff --git a/src/analysis/loading.h b/src/analysis/loading.h index d3b9ed9..2310aef 100644 --- a/src/analysis/loading.h +++ b/src/analysis/loading.h @@ -67,15 +67,9 @@ void g_content_explorer_delete_group(GContentExplorer *, wgroup_id_t);  /* Ajoute un nouveau contenu découvert au crédit d'un groupe. */  void g_content_explorer_populate_group(GContentExplorer *, wgroup_id_t, GBinContent *); -/* Note un contenu chargé pour future intégration guidée. */ -void g_content_explorer_note_detected(GContentExplorer *, wgroup_id_t, GLoadedContent *); -  /* Fournit la liste de tous les contenus disponibles. */  GBinContent **g_content_explorer_get_all(GContentExplorer *, wgroup_id_t, size_t *); -/* Fournit la liste de tous les contenus préalablement détectés. */ -GLoadedContent **g_content_explorer_get_detected(GContentExplorer *, wgroup_id_t, size_t *); -  /* ------------------- RESOLUTION DE CONTENUS BINAIRES EN CHARGES ------------------- */ @@ -103,7 +97,7 @@ GType g_content_resolver_get_type(void);  GContentResolver *g_content_resolver_new(void);  /* Initie une nouvelle vague de résolution de contenus. */ -void g_content_resolver_create_group(GContentResolver *, wgroup_id_t, GBinContent **, size_t, GLoadedContent **, size_t); +void g_content_resolver_create_group(GContentResolver *, wgroup_id_t, GBinContent **, size_t);  /* Termine une vague de résolution de contenu. */  void g_content_resolver_delete_group(GContentResolver *, wgroup_id_t); diff --git a/src/analysis/project.c b/src/analysis/project.c index e3b38b2..71e0f43 100644 --- a/src/analysis/project.c +++ b/src/analysis/project.c @@ -1246,8 +1246,6 @@ static void on_new_content_explored(GContentExplorer *explorer, wgroup_id_t wid,  {      GBinContent **available;                /* Contenus binaires présents  */      size_t count;                           /* Quantité de ces contenus    */ -    GLoadedContent **detected;              /* Contenus chargés présents   */ -    size_t noted;                           /* Quantité de ces contenus    */      GContentResolver *resolver;             /* Resolveur de contenus       */      size_t i;                               /* Boucle de parcours          */ @@ -1256,11 +1254,9 @@ static void on_new_content_explored(GContentExplorer *explorer, wgroup_id_t wid,          available = g_content_explorer_get_all(explorer, wid, &count);          assert(count > 0); -        detected = g_content_explorer_get_detected(explorer, wid, ¬ed); -          resolver = get_current_content_resolver(); -        g_content_resolver_create_group(resolver, wid, available, count, detected, noted); +        g_content_resolver_create_group(resolver, wid, available, count);          g_object_unref(G_OBJECT(resolver)); @@ -1269,12 +1265,6 @@ static void on_new_content_explored(GContentExplorer *explorer, wgroup_id_t wid,          free(available); -        for (i = 0; i < noted; i++) -            g_object_unref(G_OBJECT(detected[i])); - -        if (detected != NULL) -            free(detected); -      }  } | 
