diff options
Diffstat (limited to 'src/analysis/db/item-int.h')
-rw-r--r-- | src/analysis/db/item-int.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/analysis/db/item-int.h b/src/analysis/db/item-int.h index 12c69f3..1af1048 100644 --- a/src/analysis/db/item-int.h +++ b/src/analysis/db/item-int.h @@ -36,12 +36,18 @@ +/* Effectue la comparaison entre deux éléments de collection. */ +typedef gint (* cmp_db_item_fc) (GDbItem *, GDbItem *, bool); + /* Importe la définition d'une base d'éléments pour collection. */ typedef bool (* recv_db_item_fc) (GDbItem *, int, int); /* Exporte la définition d'une base d'éléments pour collection. */ typedef bool (* send_db_item_fc) (const GDbItem *, int, int); +/* Construit la description humaine d'un signet sur un tampon. */ +typedef void (* build_item_label_fc) (GDbItem *); + /* Exécute un élément de collection sur un binaire. */ typedef bool (* run_item_fc) (GDbItem *, GLoadedBinary *); @@ -57,13 +63,15 @@ struct _GDbItem { GObject parent; /* A laisser en premier */ - uint64_t created; /* Date de création */ - uint64_t modified; /* Date de modification */ + bool server_side; /* Instance côté serveur */ + + timestamp_t created; /* Date de création */ + timestamp_t timestamp; /* Date dernière activité */ rle_string author; /* Utilisateur d'origine */ rle_string tool; /* Eventuel outil automatique ?*/ - rle_string label; /* Représentation humaine */ + char *label; /* Représentation humaine */ bool is_volatile; /* Pas besoin de sauvegarde ? */ @@ -78,10 +86,12 @@ struct _GDbItemClass { GObjectClass parent; /* A laisser en premier */ - GCompareFunc cmp; /* Comparaison entre éléments */ + cmp_db_item_fc cmp; /* Comparaison entre éléments */ recv_db_item_fc recv; /* Réception depuis le réseau */ send_db_item_fc send; /* Emission depuis le réseau */ + + build_item_label_fc build_label; /* Construction de description */ run_item_fc apply; /* Application de l'élément */ run_item_fc cancel; /* Retrait de l'élément */ @@ -93,8 +103,8 @@ struct _GDbItemClass /* Définition du tronc commun pour les créations SQLite */ #define SQLITE_DB_ITEM_CREATE \ - "created INTEGER, " \ - "modified INTEGER, " \ + SQLITE_TIMESTAMP_CREATE("created") ", " \ + SQLITE_TIMESTAMP_CREATE("timestamp") ", " \ SQLITE_RLESTR_CREATE("author") ", " \ SQLITE_RLESTR_CREATE("tool") ", " \ SQLITE_RLESTR_CREATE("label") |