diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/analysis/binary.c | 4 | ||||
| -rw-r--r-- | src/analysis/db/item-int.h | 4 | ||||
| -rw-r--r-- | src/analysis/db/item.c | 44 | ||||
| -rw-r--r-- | src/analysis/db/item.h | 12 | 
4 files changed, 10 insertions, 54 deletions
| diff --git a/src/analysis/binary.c b/src/analysis/binary.c index 070e175..ac7556c 100644 --- a/src/analysis/binary.c +++ b/src/analysis/binary.c @@ -1077,7 +1077,7 @@ bool _g_loaded_binary_add_to_collection(GLoadedBinary *binary, GDbItem *item, bo      if (collec == NULL) return false;      /* S'il n'y a pas besoin de sauvegarde... */ -    if (g_db_item_is_volatile(item)) +    if (g_db_item_get_flags(item) & DIF_VOLATILE)          result = _g_db_collection_add_item(collec, item, lock);      /* Sinon on envoie par le réseau ! */ @@ -1158,7 +1158,7 @@ bool _g_loaded_binary_remove_from_collection(GLoadedBinary *binary, DBFeatures f      if (collec == NULL) return false;      /* S'il n'y a pas besoin de sauvegarde... */ -    if (g_db_item_is_volatile(item)) +    if (g_db_item_get_flags(item) & DIF_VOLATILE)          result = _g_db_collection_remove_item(collec, item, lock, true);      /* Sinon on envoie par le réseau ! */ diff --git a/src/analysis/db/item-int.h b/src/analysis/db/item-int.h index e530442..bdaf38e 100644 --- a/src/analysis/db/item-int.h +++ b/src/analysis/db/item-int.h @@ -76,10 +76,6 @@ struct _GDbItem      }; -    bool is_volatile;                       /* Pas besoin de sauvegarde ?  */ - -    bool broken;                            /* Changement applicable ?     */ -  };  /* Base d'un élément pour collection générique (classe) */ diff --git a/src/analysis/db/item.c b/src/analysis/db/item.c index 227d99f..a403537 100644 --- a/src/analysis/db/item.c +++ b/src/analysis/db/item.c @@ -118,7 +118,7 @@ static void g_db_item_init(GDbItem *item)  {      set_static_rle_string(&item->author, ""); -    item->is_volatile = false; +    g_atomic_int_set(&item->atomic_flags, DIF_NONE);  } @@ -420,6 +420,9 @@ bool g_db_item_apply(GDbItem *item, GLoadedBinary *binary)      result = G_DB_ITEM_GET_CLASS(item)->apply(item, binary); +    if (!result) +        g_db_item_add_flag(item, DIF_BROKEN); +      return result;  } @@ -569,45 +572,6 @@ bool g_db_item_is_active(const GDbItem *item)  /******************************************************************************  *                                                                             * -*  Paramètres  : item        = base d'éléments à modifier.                    * -*                is_volatile = état du besoin en sauvegarde.                  * -*                                                                             * -*  Description : Définit si l'élément contient des données à oublier ou non.  * -*                                                                             * -*  Retour      : -                                                            * -*                                                                             * -*  Remarques   : -                                                            * -*                                                                             * -******************************************************************************/ - -void g_db_item_set_volatile(GDbItem *item, bool is_volatile) -{ -    item->is_volatile = is_volatile; - -} - - -/****************************************************************************** -*                                                                             * -*  Paramètres  : item = base d'éléments à consulter.                          * -*                                                                             * -*  Description : Indique si l'élément contient des données à oublier ou non.  * -*                                                                             * -*  Retour      : Etat du besoin en sauvegarde.                                * -*                                                                             * -*  Remarques   : -                                                            * -*                                                                             * -******************************************************************************/ - -bool g_db_item_is_volatile(const GDbItem *item) -{ -    return item->is_volatile; - -} - - -/****************************************************************************** -*                                                                             *  *  Paramètres  : item = base d'éléments à mettre à jour.                      *  *                flag = type de propriété à traiter.                          *  *                                                                             * diff --git a/src/analysis/db/item.h b/src/analysis/db/item.h index 383f9ed..fc6475e 100644 --- a/src/analysis/db/item.h +++ b/src/analysis/db/item.h @@ -43,8 +43,10 @@ typedef struct _GLoadedBinary GLoadedBinary;  /* Propriétés particulières pour un élément */  typedef enum _DbItemFlags  { -    DIF_NONE    = (0 << 0),                 /* Propriétés par défaut       */ -    DIF_ERASER  = (1 << 0),                 /* Suppression de l'effet      */ +    DIF_NONE     = (0 << 0),                /* Propriétés par défaut       */ +    DIF_ERASER   = (1 << 0),                /* Suppression de l'effet      */ +    DIF_VOLATILE = (1 << 1),                /* Abscence de sauvegarde      */ +    DIF_BROKEN   = (1 << 2),                /* Application impossible      */  } DbItemFlags; @@ -106,12 +108,6 @@ bool g_db_item_set_activity(GDbItem *, GLoadedBinary *, timestamp_t *);  /* Indique si l'élément est activé ou désactivé. */  bool g_db_item_is_active(const GDbItem *); -/* Définit si l'élément contient des données à oublier ou non. */ -void g_db_item_set_volatile(GDbItem *, bool); - -/* Indique si l'élément contient des données à oublier ou non. */ -bool g_db_item_is_volatile(const GDbItem *); -  /* Ajoute une propriété à un élément de base de données. */  void g_db_item_add_flag(GDbItem *, DbItemFlags); | 
