diff options
Diffstat (limited to 'src/analysis/db/collection.h')
-rw-r--r-- | src/analysis/db/collection.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/analysis/db/collection.h b/src/analysis/db/collection.h index 60e5c26..9539229 100644 --- a/src/analysis/db/collection.h +++ b/src/analysis/db/collection.h @@ -93,7 +93,7 @@ void g_db_collection_lock_unlock(GDbCollection *, bool, bool); #define g_db_collection_runlock(col) g_db_collection_lock_unlock(col, false, false); /* Renvoie la liste des éléments rassemblés. */ -GList *g_db_collection_get_items(const GDbCollection *); +GDbItem **g_db_collection_get_items(const GDbCollection *, size_t *); /* Détermine si un élément est déjà présent ou non. */ GDbItem *g_db_collection_has_key(GDbCollection *, ...); @@ -104,25 +104,24 @@ bool g_db_collection_has_item(GDbCollection *, GDbItem *); /* Procède à l'ajout d'un nouvel élément dans la collection. */ bool _g_db_collection_add_item(GDbCollection *, GDbItem *, bool); -/* Procède au retrait d'un nouvel élément dans la collection. */ -bool _g_db_collection_remove_item(GDbCollection *, GDbItem *, bool, bool); +/* Procède au retrait des éléments désactivés de la collection. */ +bool g_db_collection_drop_disabled_items(GDbCollection *, packed_buffer *); -/* Détermine l'horodatage le plus jeune pour une désactivation. */ -timestamp_t _g_db_collection_compute_inactivity_timestamp(GDbCollection *, bool); +/* Procède au retrait d'un élément dans la collection. */ +bool g_db_collection_remove_item(GDbCollection *, const GDbItem *); -/* Met à jour le statut d'activité d'un élément de collection. */ -bool _g_db_collection_update_item_activity(GDbCollection *, GDbItem *, timestamp_t *, bool); +/* Désactive les éléments en aval d'un horodatage donné. */ +bool g_db_collection_disable_at(GDbCollection *, timestamp_t, sqlite3 *, packed_buffer *); -#define g_db_collection_add_item(c, i) _g_db_collection_add_item(c, i, true) -#define g_db_collection_remove_item(c, i) _g_db_collection_remove_item(c, i, true, true) -#define g_db_collection_compute_inactivity_timestamp(c) _g_db_collection_compute_inactivity_timestamp(c, true) -#define g_db_collection_update_item_activity(c, i, t) _g_db_collection_update_item_activity(c, i, t, true) +/* Prend acte d'un changement d'état d'un élément de collection. */ +bool g_db_collection_update_item_state(GDbCollection *, const GDbItem *); -/* Active les éléments en amont d'un horodatage donné. */ -GList *g_db_collection_set_last_active(GDbCollection *, timestamp_t, timestamp_t *, sqlite3 *); -/* Désactive les éléments en aval d'un horodatage donné. */ -bool g_db_collection_set_inactive(GDbCollection *, GDbItem *, timestamp_t *); + + + +#define g_db_collection_add_item(c, i) _g_db_collection_add_item(c, i, true) +//#define g_db_collection_remove_item(c, i) _g_db_collection_remove_item(c, i, true, true) @@ -159,7 +158,7 @@ void lock_unlock_collections(GList *, bool, bool); bool pack_all_collection_updates(GList *, packed_buffer *); /* Met à jour les statuts d'activité des éléments. */ -bool update_activity_in_collections(GList *, packed_buffer *, sqlite3 *); +bool update_activity_in_collections(GList *, packed_buffer *, packed_buffer *, sqlite3 *); |