43 lines
1.2 KiB
C
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
|