1.2 KiB
1.2 KiB
Ticket #003
Titre
Créer le module Investigation.
Objectif
Créer l'objet métier représentant une enquête ouverte par Labfy Investigation.
Le module doit rester indépendant de GTK et de l'interface graphique.
Responsabilités
Le module doit :
- mémoriser le chemin racine de l'enquête ;
- construire le chemin de la base de données modèle ;
- exposer ces chemins en lecture seule ;
- gérer proprement sa mémoire ;
- vérifier qu'un chemin d'enquête est exploitable.
Hors périmètre
Ce ticket ne doit pas :
- ouvrir SQLite ;
- créer la base de données ;
- modifier l'arborescence de l'enquête ;
- afficher de message GTK ;
- gérer les preuves ou les entités.
Dépendances
- libc ;
- GLib uniquement si nécessaire pour la gestion des chaînes et chemins.
Aucune dépendance GTK ou SQLite.
API attendue
Le module doit permettre un usage proche de :
Investigation *investigation = NULL;
investigation = investigation_new("/chemin/vers/enquete");
if (investigation == NULL)
{
/* Gestion de l'erreur */
}
const char *root_path = investigation_get_root_path(investigation);
const char *database_path = investigation_get_database_path(investigation);
investigation_free(investigation);