My Project
Chargement...
Recherche...
Aucune correspondance
Définitions de type | Fonctions
Référence du fichier registre.h

Gestion des registres (outils permettant de stocker des paramètres) Plus de détails...

#include <manux/stdarg.h>
#include <manux/types.h>
Graphe des dépendances par inclusion de registre.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Définitions de type

typedef struct _registre registre
 Le type d'un registre.
 
typedef struct _parametre parametre
 Définition d'un parametre dans un registre.
 
typedef void(* registreMiseAJour) (void *, char *)
 La fonction de mise-à-jour d'un registre.
 

Fonctions

registre * registreCreer (char *nom)
 Création d'un registre vide.
 
void registreAffecterParametre (registre *reg, char *valeur, void *prive, registreMiseAJour miseAJour,...)
 Affecter un paramètre dans un registre.
 
void registreSystemeInitialiser (void)
 Initialisation du registre système.
 
void registreSystemeAffecterParametre (char *valeur, void *prive, registreMiseAJour miseAJour,...)
 Ajouter un paramètre au registre système de ManuX.
 
void registreSystemeAjouterC (char *chaine)
 Ajouter dans le registre système un paramètre décrit dans une chaîne de caractères.
 
void registreSystemeAfficher (void)
 Affichage du registre de ManuX.
 

Description détaillée

Gestion des registres (outils permettant de stocker des paramètres)

Attention en cas de mise-à-jour : faire suivre la doc !!!

Un registre est une structure arborescente contenant des paramètres. Un registre doit d'abord être créé puis on peut y insérer des paramètres avec la fonction registreAffecterParametre(). Chaque paramètre est stoqué comme une chaîne de caractères.

Il existe plusieurs façons de l'utiliser car il existe des des besoins différents :

. Le principe de base est que chaque sous-sytème crée les paramètres dans un registre, avec pour chacun une fonction de mise-à-jour (et un pointeur associé si c'est utile) et une valeur par défaut s'il le souhaite

. Il peut être également utile de renseigner un registre avec des valeurs de paramètres avant que ceux-ci aient été créés et insérés dans le registre. Des paramètres peuvent par exemple être chargés au démarage du système dont la valeur pourra être utilisée lors du démarrage des sous-systèmes correspondants. Lors de leur première insertion dans le registre, la fonction de mise-à-jour ne peut donc pas être invoquée.

La fonction d'affectation d'un paramètre dans un registre a donc la signature suivante

void registreAffecterParametre(registre * base, char * valeur, void * prive, registreMiseAJour miseAJour, ...);

où

Paramètres
base: le registre dans lequel est le paramètre
valeur: la valeur du paramètre sous forme de chaîne (ou NULL)
prive: un pointeur sur une zone privée (ou NULL)
miseAJour: la fonction de mise à jour (ou NULL)
listargs: le nom sous forme de liste de chaînes

Le principe est le suivant

si miseAJour == NULL alors la valeur est affectée au paramètre si la fonction de mise-à-jour existe alors elle est invoquée (avec cette nouvelle valeur) finsi sinon si le paramètre n'avait pas de valeur définie, alors On lui affecte celle passée en paramètre fin si la fonction de mise-à-jour est affectée la fonction de mise-à-jour est invoquée finsi

Dit autrement, si une fonction de mise-à-jour est passée en paramètre, alors on ne se préoccupe pas de la valeur passée en paramètre, sinon on affecte la valeur (même nulle). Dans tous les cas, on invoque la màj si elle existe.

                                                 (C) E. Chaput 2024-2025

Définition dans le fichier registre.h.

Documentation des définitions de type

◆ parametre

typedef struct _parametre parametre

Définition d'un parametre dans un registre.

Définition à la ligne 84 du fichier registre.h.

◆ registre

typedef struct _registre registre

Le type d'un registre.

Définition à la ligne 79 du fichier registre.h.

◆ registreMiseAJour

typedef void(* registreMiseAJour) (void *, char *)

La fonction de mise-à-jour d'un registre.

Définition à la ligne 89 du fichier registre.h.

Documentation des fonctions

◆ registreAffecterParametre()

void registreAffecterParametre ( registre *  reg,
char *  valeur,
void *  prive,
registreMiseAJour  miseAJour,
  ... 
)

Affecter un paramètre dans un registre.

Voir la doc générale du registre pour une description de l'algorithme

Affecter un paramètre dans un registre.

Définition à la ligne 449 du fichier registre.c.

◆ registreCreer()

registre * registreCreer ( char *  nom)

Création d'un registre vide.

Définition à la ligne 203 du fichier registre.c.

◆ registreSystemeAffecterParametre()

void registreSystemeAffecterParametre ( char *  valeur,
void *  prive,
registreMiseAJour  miseAJour,
  ... 
)

Ajouter un paramètre au registre système de ManuX.

Ajouter un paramètre au registre système de ManuX.

Exemple registreSystemeAjouterParametre("192.168.10.2/24", &netif, netIpAddr, "net", "ip", "addr", NULL);

Définition à la ligne 565 du fichier registre.c.

◆ registreSystemeAfficher()

void registreSystemeAfficher ( void  )

Affichage du registre de ManuX.

Affichage du registre de ManuX.

Définition à la ligne 580 du fichier registre.c.

◆ registreSystemeAjouterC()

void registreSystemeAjouterC ( char *  chaine)

Ajouter dans le registre système un paramètre décrit dans une chaîne de caractères.

La chaîne doit être sous la forme "a.b.c=v"

Ajouter dans le registre système un paramètre décrit dans une chaîne de caractères.

La chaîne doit être sous la forme "a.b.c=v" Attention, elle va être modifiée !

Définition à la ligne 552 du fichier registre.c.

◆ registreSystemeInitialiser()

void registreSystemeInitialiser ( void  )

Initialisation du registre système.

Initialisation du registre système.

Définition à la ligne 536 du fichier registre.c.