summaryrefslogtreecommitdiff
path: root/src/analysis/db/item.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/db/item.c')
-rw-r--r--src/analysis/db/item.c79
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);
}