diff options
Diffstat (limited to 'src/analysis/db/item.c')
-rw-r--r-- | src/analysis/db/item.c | 79 |
1 files changed, 36 insertions, 43 deletions
diff --git a/src/analysis/db/item.c b/src/analysis/db/item.c index ce08339..20276d6 100644 --- a/src/analysis/db/item.c +++ b/src/analysis/db/item.c @@ -31,7 +31,6 @@ #include "item-int.h" -#include "../../common/io.h" #include "../../core/params.h" @@ -49,10 +48,10 @@ static void g_db_item_dispose(GDbItem *); static void g_db_item_finalize(GDbItem *); /* Importe la définition d'une base d'éléments pour collection. */ -static bool g_db_item_recv_from_fd(GDbItem *, int, int); +static bool _g_db_item_unpack(GDbItem *, packed_buffer *); /* Exporte la définition d'une base d'éléments pour collection. */ -static bool g_db_item_send_to_fd(const GDbItem *, int, int); +static bool _g_db_item_pack(const GDbItem *, packed_buffer *); @@ -94,8 +93,8 @@ static void g_db_item_class_init(GDbItemClass *klass) klass->cmp = (cmp_db_item_fc)g_db_item_cmp; - klass->recv = (recv_db_item_fc)g_db_item_recv_from_fd; - klass->send = (send_db_item_fc)g_db_item_send_to_fd; + klass->unpack = (unpack_db_item_fc)_g_db_item_unpack; + klass->pack = (pack_db_item_fc)_g_db_item_pack; klass->prepare_stmt = (prepare_db_statement)_g_db_item_prepare_db_statement; klass->load = (load_db_item_fc)_g_db_item_load; @@ -290,9 +289,8 @@ gint g_db_item_compare_without_timestamp(GDbItem *a, GDbItem *b) /****************************************************************************** * * -* Paramètres : item = base d'éléments à charger. [OUT] * -* fd = flux ouvert en lecture pour l'importation. * -* flags = éventuelles options d'envoi supplémentaires. * +* Paramètres : item = base d'éléments à charger. [OUT] * +* pbuf = paquet de données où venir puiser les infos. * * * * Description : Importe la définition d'une base d'éléments pour collection. * * * @@ -302,32 +300,30 @@ gint g_db_item_compare_without_timestamp(GDbItem *a, GDbItem *b) * * ******************************************************************************/ -static bool g_db_item_recv_from_fd(GDbItem *item, int fd, int flags) +static bool _g_db_item_unpack(GDbItem *item, packed_buffer *pbuf) { - bool status; /* Bilan d'une réception */ + bool result; /* Bilan à retourner */ - status = recv_timestamp(&item->created, fd, flags); - if (!status) return false; + result = unpack_timestamp(&item->created, pbuf); - status = recv_timestamp(&item->timestamp, fd, flags); - if (!status) return false; + if (result) + result = unpack_timestamp(&item->timestamp, pbuf); - status = recv_rle_string(&item->author, fd, flags); - if (!status) return false; + if (result) + result = unpack_rle_string(&item->author, pbuf); - status = recv_rle_string(&item->tool, fd, flags); - if (!status) return false; + if (result) + result = unpack_rle_string(&item->tool, pbuf); - return true; + return result; } /****************************************************************************** * * -* Paramètres : item = base d'éléments à charger. [OUT] * -* fd = flux ouvert en lecture pour l'importation. * -* flags = éventuelles options d'envoi supplémentaires. * +* Paramètres : item = base d'éléments à charger. [OUT] * +* pbuf = paquet de données où venir puiser les infos. * * * * Description : Importe la définition d'une base d'éléments pour collection. * * * @@ -337,11 +333,11 @@ static bool g_db_item_recv_from_fd(GDbItem *item, int fd, int flags) * * ******************************************************************************/ -bool g_db_item_recv(GDbItem *item, int fd, int flags) +bool g_db_item_unpack(GDbItem *item, packed_buffer *pbuf) { bool result; /* Bilan à retourner */ - result = G_DB_ITEM_GET_CLASS(item)->recv(item, fd, flags); + result = G_DB_ITEM_GET_CLASS(item)->unpack(item, pbuf); return result; @@ -350,9 +346,8 @@ bool g_db_item_recv(GDbItem *item, int fd, int flags) /****************************************************************************** * * -* Paramètres : item = informations à sauvegarer. * -* fd = flux ouvert en écriture pour l'exportation. * -* flags = éventuelles options d'envoi supplémentaires. * +* Paramètres : item = informations à sauvegarer. * +* pbuf = paquet de données où venir inscrire les infos. * * * * Description : Exporte la définition d'une base d'éléments pour collection. * * * @@ -362,32 +357,30 @@ bool g_db_item_recv(GDbItem *item, int fd, int flags) * * ******************************************************************************/ -static bool g_db_item_send_to_fd(const GDbItem *item, int fd, int flags) +static bool _g_db_item_pack(const GDbItem *item, packed_buffer *pbuf) { - bool status; /* Bilan d'une émission */ + bool result; /* Bilan à retourner */ - status = send_timestamp(&item->created, fd, MSG_MORE | flags); - if (!status) return false; + result = pack_timestamp(&item->created, pbuf); - status = send_timestamp(&item->timestamp, fd, MSG_MORE | flags); - if (!status) return false; + if (result) + result = pack_timestamp(&item->timestamp, pbuf); - status = send_rle_string(&item->author, fd, MSG_MORE | flags); - if (!status) return false; + if (result) + result = pack_rle_string(&item->author, pbuf); - status = send_rle_string(&item->tool, fd, flags); - if (!status) return false; + if (result) + result = pack_rle_string(&item->tool, pbuf); - return true; + return result; } /****************************************************************************** * * -* Paramètres : item = informations à sauvegarer. * -* fd = flux ouvert en écriture pour l'exportation. * -* flags = éventuelles options d'envoi supplémentaires. * +* Paramètres : item = informations à sauvegarer. * +* pbuf = paquet de données où venir inscrire les infos. * * * * Description : Exporte la définition d'une base d'éléments pour collection. * * * @@ -397,9 +390,9 @@ static bool g_db_item_send_to_fd(const GDbItem *item, int fd, int flags) * * ******************************************************************************/ -bool g_db_item_send(const GDbItem *item, int fd, int flags) +bool g_db_item_pack(const GDbItem *item, packed_buffer *pbuf) { - return G_DB_ITEM_GET_CLASS(item)->send(item, fd, flags); + return G_DB_ITEM_GET_CLASS(item)->pack(item, pbuf); } |