diff options
Diffstat (limited to 'src/analysis/db/item.c')
-rw-r--r-- | src/analysis/db/item.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/analysis/db/item.c b/src/analysis/db/item.c index 2bbc683..c59ef64 100644 --- a/src/analysis/db/item.c +++ b/src/analysis/db/item.c @@ -596,6 +596,74 @@ bool g_db_item_is_volatile(const GDbItem *item) } +/****************************************************************************** +* * +* Paramètres : item = base d'éléments à mettre à jour. * +* flag = type de propriété à traiter. * +* * +* Description : Ajoute une propriété à un élément de base de données. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_db_item_add_flag(GDbItem *item, DbItemFlags flag) +{ + g_atomic_int_add(&item->atomic_flags, flag); + +} + + +/****************************************************************************** +* * +* Paramètres : item = base d'éléments à mettre à jour. * +* flag = type de propriété à traiter. * +* * +* Description : Retire une propriété à un élément de base de données. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_db_item_remove_flag(GDbItem *item, DbItemFlags flag) +{ + gint mask; /* Masque à appliquer */ + + mask = flag; + mask = ~mask; + + g_atomic_int_and(&item->atomic_flags, mask); + +} + + +/****************************************************************************** +* * +* Paramètres : item = base d'éléments à consulter. * +* * +* Description : Indique les propriétés particulières appliquées à l'élément. * +* * +* Retour : Propriétés actives de l'élément. * +* * +* Remarques : - * +* * +******************************************************************************/ + +DbItemFlags g_db_item_get_flags(const GDbItem *item) +{ + DbItemFlags result; /* Fanions à retourner */ + + result = g_atomic_int_get(&item->atomic_flags); + + return result; + +} + + /* ---------------------------------------------------------------------------------- */ /* MANIPULATIONS AVEC UNE BASE DE DONNEES */ |