labfy-investigation/include/core/application.h
grayTerminal-sh 2bd29e6208 arbo
2026-07-13 13:57:25 +02:00

43 lines
1.2 KiB
C

/******************************************************************************
* @file application.h
* @brief Interface publique du cycle de vie de l'application.
******************************************************************************/
#ifndef LABFY_INVESTIGATION_APPLICATION_H
#define LABFY_INVESTIGATION_APPLICATION_H
/**
* @brief Représentation opaque de l'application.
*
* Les détails GTK sont volontairement masqués au reste du programme.
*/
typedef struct Application Application;
/**
* @brief Crée et initialise une application Labfy Investigation.
*
* @return Une nouvelle application, ou NULL en cas d'échec.
*/
Application *application_new(void);
/**
* @brief Lance la boucle principale de l'application.
*
* @param application Application à exécuter.
* @param argc Nombre d'arguments de la ligne de commande.
* @param argv Tableau des arguments de la ligne de commande.
*
* @return Code de sortie retourné par GTK.
*/
int application_run(Application *application, int argc, char **argv);
/**
* @brief Libère les ressources possédées par l'application.
*
* Cette fonction accepte NULL.
*
* @param application Application à libérer.
*/
void application_free(Application *application);
#endif