Le moteur des alarmes XT4 devra prendre en charge les processus suivants.
Au démarrage
- Tri des alarmes
- Préparation de la prochaine alarme : récupération de la première de la liste
- Flag Ready = True/False selon l'existence d'une prochaine alarme
Lors d'un import de données
- Import
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Si Ready :
- Vérification de la prochaine alarme
- Si prochaine alarme arrivée à terme :
- Analyse du retard
- Si déclenchable :
- Si Caption et/ou Text :
- Mise en attente :
- Incrément du compteur d'attente (Ce compteur servira pour le clignotement de l'icône)
- Ajout dans la liste des alarmes en attente
- Ajout dans la liste des libellés en attente
- Préparation de la prochaine alarme (Ce service doit désormais exclure les alarmes en attente)
- Ready = True/False
- Initialisation du clignotement de la Barre (Il faudra un compteur pour les 30 secondes)
- Mise à jour du menu des alarmes en attente (Une alarme en attente est à exclure de la recherche de la prochaine alarme mais rien d'autre ne doit changer afin qu'elle soit conservée intacte)
- Mise en attente :
- Sinon : Déclenchement
- Si Caption et/ou Text :
- Si non déclenchable :
- Si unique :
- Effacement
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Si répétitive :
- Incrément
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Vérification de la prochaine alarme
- Si unique :
- Clignotement de la Barre pendant 30 secondes
- Clignotement de l'icône selon le compteur d'attente
- Création, modification, effacement :
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Déclenchement manuel :
- Déclenchement
- Arrêt du clignotement de la Barre
- Fin d'attente :
- Décrément du compteur d'attente
- Retrait de la liste des alarmes en attente
- Retrait de la liste des libellés en attente
- Mise à jour du menu des alarmes en attente
- Déclenchement
(Nécessite le passage de l'alarme en paramètre car déconnecté de la "Prochaine alarme".)
- Ready = False
- Affichage de la fenêtre Message
- Si Caption et/ou Text : affichage et attente
- Sinon : compte à rebours
- Fermeture de la fenêtre, et selon son ExitCode :
- 1 = Acceptation :
- Si unique :
- Effacement
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Si répétitive :
- Incrément
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Vérification de la prochaine alarme
- Si unique :
- 2 = Rappel demandé :
- Modification des date et heure
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- 3 = Edition demandée :
- Edition
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- 4 = Compte à rebours terminé :
- Si unique :
- Effacement
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Si répétitive :
- Incrément
- Sauvegarde des données
- Tri des alarmes
- Préparation de la prochaine alarme
- Ready = True/False
- Vérification de la prochaine alarme
- Exécution de l'action
- Si unique :
- 1 = Acceptation :
Tout ceci va maintenant être factorisé en petits modules.