Documentation de Gambas - /dev/api/name/gb.hook

/dev/api/name/gb.hook

# GB.Hook

void *GB.Hook ( int type , void *hook )

Installe un connecteur global (hook) avec l’interpréteur.

- type est une constante (un entier ) qui identifie le connecteur.

- hook est le pointeur sur la fonction the connecteur.

La fonction `GB.Hook` retourne le connecteur précédent, pour que vous puissiez l’appeler vous-même au besoin. Je pense que ce n’est utile que pour le connecteur GB_HOOK_MAIN.

Il y a huit connecteurs globaux :

Nom | Description
--- | ---

GB_HOOK_MAIN

void hook_main ( int *argc, char **argv )

Ce connecteur est appelé pour analyser la ligne de commande.

- argc est un pointeur vers le nombre d’arguments.

- argv est un tableau de chaînes contenant les arguments, comme celui reçu par la fonction `main` .

Si vous consommez les arguments processus de argv, vous devez les retirer de argv et modifier *argc en conséquence.

GB_HOOK_LOOP | int hook_loop ( void ) Ce connecteur est appelé pour entrer dans la boucle d’évènement jusqu’à ce que le programme finisse. La valeur retournée devrait être la valeur qui doit être retournée par le programme.
GB_HOOK_WAIT | void hook_wait ( long duration ) Ce connecteur est appelé pour implémenter l’instruction WAIT. Vous devez surveiller la boucle d’évènement au moins pendant le nombre de millisecondes spécifié par duration, puis retourner.

GB_HOOK_TIMER

void hook_timer ( GB_TIMER *timer, int enabled )

Ce connecteur est appelé pour démarrer ou arrêter un timer.

- timer pointe vers l’objet timer. Toute information nécessaire se trouve à l’intérieur.

- enabled est `TRUE` si le timer doit être activité, ou `FALSE` s’il doit être stoppé.

La structure GB_TIMER inclut un champ nommé `id`, auquel vous devez fournir un nombre qui identifie de manière unique ce timer. Cet identificateur doit être remis à zéro quand le timer est stoppé.

GB_HOOK_LANG

void hook_lang ( char *lang , int rtl )

Ce connecteur est appelé quand la langue actuelle change.

- lang est le set du nouveau langage

- rtl vous signalera si ce langage est écrit de droite à gauche.

GB_HOOK_WATCH

void hook_watch ( int fd , int type , void *callback , long param )

Ce connecteur est appelé pour implémenter la veille sur un descripteur de fichier.

- fd est le descripteur de fichier à surveiller.

- type est une des constantes spécifiées dans /wiki/api/cat/watch.

- param est le paramètre enregistré lors de l’appel de GB.Watch.

GB_HOOK_POST | void hook_post ( void ) Ce connecteur est appelé pour exécuter les fonctions de rappel au prochain appel de la boucle d’évènements.
GB_HOOK_QUIT | void hook_quit ( void ) Ce connecteur est appelé quand l’instruction QUIT est utilisée. Vous devriez nettoyer et libérer tout ce que vous pouvez.

GB_HOOK_ERROR

void hook_error ( int code , char *error , char *where )

Ce connecteur est appelé pour afficher les messages d’erreur.

- code est le code d’erreur.

- error est le message d’erreur.

- where est une chaîne qui décrit où l’erreur s’est produite.

### Voir aussi

- /wiki/api/cat/hook