From 02db731a963a7856e51868a6d591e1f0c15436e8 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Fri, 27 Sep 2019 00:26:11 +0200 Subject: Transmitted the database item flags thanks to the connections. --- src/analysis/db/item-int.h | 1 - src/analysis/db/item.c | 22 +++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/analysis/db/item-int.h b/src/analysis/db/item-int.h index 8c13cd9..35fca94 100644 --- a/src/analysis/db/item-int.h +++ b/src/analysis/db/item-int.h @@ -70,7 +70,6 @@ struct _GDbItem GObject parent; /* A laisser en premier */ timestamp_t created; /* Date de création */ - timestamp_t timestamp; /* Date dernière activité */ rle_string author; /* Utilisateur d'origine */ diff --git a/src/analysis/db/item.c b/src/analysis/db/item.c index f9c4201..029b1d6 100644 --- a/src/analysis/db/item.c +++ b/src/analysis/db/item.c @@ -198,7 +198,6 @@ DBFeatures g_db_item_get_feature(const GDbItem *item) void g_db_item_set_server_side(GDbItem *item) { init_timestamp(&item->created); - item->timestamp = item->created; } @@ -277,14 +276,11 @@ gint g_db_item_cmp(GDbItem *a, GDbItem *b, bool with) char *label_b; /* Etiquette de l'élément B */ if (with) - result = cmp_timestamp(&a->timestamp, &b->timestamp); + result = cmp_timestamp(&a->created, &b->created); else result = 0; if (result == 0) - result = cmp_timestamp(&a->created, &b->created); - - if (result == 0) { label_a = g_db_item_get_label(a); label_b = g_db_item_get_label(b); @@ -357,14 +353,18 @@ gint g_db_item_compare_without_timestamp(GDbItem *a, GDbItem *b) static bool _g_db_item_unpack(GDbItem *item, packed_buffer *pbuf) { bool result; /* Bilan à retourner */ + uint32_t flags; /* Propriétés de l'élément */ result = unpack_timestamp(&item->created, pbuf); if (result) - result = unpack_timestamp(&item->timestamp, pbuf); + result = unpack_rle_string(&item->author, pbuf); if (result) - result = unpack_rle_string(&item->author, pbuf); + { + result = extract_packed_buffer(pbuf, &flags, sizeof(uint32_t), true); + g_db_item_set_flags(item, flags); + } return result; @@ -411,14 +411,18 @@ bool g_db_item_unpack(GDbItem *item, packed_buffer *pbuf) static bool _g_db_item_pack(const GDbItem *item, packed_buffer *pbuf) { bool result; /* Bilan à retourner */ + DbItemFlags flags; /* Propriétés de l'élément */ result = pack_timestamp(&item->created, pbuf); if (result) - result = pack_timestamp(&item->timestamp, pbuf); + result = pack_rle_string(&item->author, pbuf); if (result) - result = pack_rle_string(&item->author, pbuf); + { + flags = g_db_item_get_flags(item); + result = extend_packed_buffer(pbuf, (uint32_t []) { flags }, sizeof(uint32_t), true); + } return result; -- cgit v0.11.2-87-g4458