summaryrefslogtreecommitdiff
path: root/src/analysis/db/item.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-09-25 22:20:25 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-09-25 22:20:25 (GMT)
commit6ed1e4110eb19b78f76154aa095a74414531f04c (patch)
treed1c3562cb6e180baff3c388a3bb3574b0a02213b /src/analysis/db/item.h
parent3dc843b3f7991dcd738a30821ff56c7fe13f1094 (diff)
Prepared history for database items.
Diffstat (limited to 'src/analysis/db/item.h')
-rw-r--r--src/analysis/db/item.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/analysis/db/item.h b/src/analysis/db/item.h
index 395a56f..b735fb8 100644
--- a/src/analysis/db/item.h
+++ b/src/analysis/db/item.h
@@ -48,6 +48,7 @@ typedef enum _DbItemFlags
DIF_UPDATED = (1 << 1), /* Mise à jour de l'élément */
DIF_VOLATILE = (1 << 2), /* Abscence de sauvegarde */
DIF_BROKEN = (1 << 3), /* Application impossible */
+ DIF_DISABLED = (1 << 4), /* Désactivation forcée */
} DbItemFlags;
@@ -109,11 +110,8 @@ char *g_db_item_get_label(GDbItem *);
/* Fournit l'horodatage associé à l'élément de collection. */
timestamp_t g_db_item_get_timestamp(const GDbItem *);
-/* Active ou désactive un élément de collection en place. */
-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 *);
+/* Applique un ensemble de propriétés à un élément. */
+void g_db_item_set_flags(GDbItem *, DbItemFlags);
/* Ajoute une propriété à un élément de base de données. */
void g_db_item_add_flag(GDbItem *, DbItemFlags);
@@ -124,11 +122,25 @@ void g_db_item_remove_flag(GDbItem *, DbItemFlags);
/* Indique les propriétés particulières appliquées à l'élément. */
DbItemFlags g_db_item_get_flags(const GDbItem *);
+#define g_db_item_has_flag(i, f) \
+ (g_db_item_get_flags(i) & f)
+
+
+//////////
+#define g_db_item_is_enabled(i) ((g_db_item_get_flags(i) & DIF_DISABLED) == 0)
+
+
+/* Active ou désactive un élément de collection en place. */
+bool g_db_item_switch_state(GDbItem *, GLoadedBinary *);
+
/* --------------------- MANIPULATIONS AVEC UNE BASE DE DONNEES --------------------- */
+/* Décrit les colonnes utiles à un chargement de données. */
+bool g_db_item_setup_load(const GDbItem *, bound_value **, size_t *);
+
/* Charge les valeurs utiles pour un élément de collection. */
bool g_db_item_load(GDbItem *, const bound_value *, size_t);