Table of Contents

Plugin-API

Le logiciel GRT dispose d'une interface plug-in dynamique pour l'ajout de fonctions supplémentaires.

Que sont les plugins GRT ?

Les plugins GRT sont des programmes ou des scripts autonomes et exécutables. Au démarrage, tous les plugins du dossier plugins sont intégrés dans le programme principal.

A cette fin, un canal de communication entre GRT et chaque plugin est établi viaIPC (Inter Process Communication). L'IPC est un type de connexion courant entre différents programmes sur un système. Il ne nécessite pas de connexion Internet pour les plug-ins ou GRT. Avec IPC, la connexion est limitée à l'ordinateur local.

Les plugins ne sont donc que reliés au GRT par un canal de communication. Si l'auteur d'un plugin le souhaite, il peut également concevoir son plugin de manière à ce qu'il puisse être utilisé indépendamment de GRT.

Où les plugins sont-ils stockés ?

Le sous-répertoire dans lequel les plugins GRT doivent être situés est : “plugins” avec le chemin suivant :

Quelles exigences sont demandées à un plugin ?

Structure du répertoire d'un plugin

Chaque plugin est situé dans un dossier distinct. Le nom du dossier doit être unique pour éviter les conflits avec d'autres plugins, mais il n'a aucune autre signification.

Un répertoire de plugins contient généralement les fichiers et dossiers suivants :

Intégration des plugins dans GRT

Lorsqu'un plugin est stocké dans le dossier du plugin GRT, le Manifeste Plugin de tous les plugins est lu par GRT au démarrage. En fonction de la configuration dans le manifeste du plugin, tous les comportements, éléments de menu et icônes de la barre d'outils définis et souhaités seront créés ou configurés par GRT pour le plugin.

Les menus définis par le plugin apparaissent dans le GRT dans le menu “Plugins” avec le nom du plugin et comme sous-menus tous les éléments de menu définis par le plugin. Les menus définis par le plugin peuvent être imbriqués aussi profondément que souhaité.

Ensuite, en fonction du système d'exploitation, le fichier exécutable défini dans le manifeste du plugin est lancé avec une ligne de commande. Avec les paramètres de connexion spécifiés dans la ligne de commande, le plugin doit ensuite se connecter au GRT avec une commande Socket-Connect. Un Timeout peut être spécifié dans le manifeste du plugin, ce qui annule la tentative de connexion de la part de GRT en cas d'erreur.

Voir: Le manifeste du plugin

Paramètre de ligne de commande pour le démarrage du plugin

GRT démarre le plugin avec les lignes de commande comme suit :

Windows
plugin.exe --ipcport <port number>

Sous Windows le port pour le socket TCP. Par exemple, si le numéro de port 49771 est spécifié, l'adresse de connexion à GRT: localhost:49771 or 127.0.0.1:49771.

Linux
plugin --ipcfile <filepath>

Sous Linux, le chemin du fichier de connexion pour le socket de domaine Unix.

Types de connexion

Un plugin peut être configuré de manière à rester connecté continuellement au GRT ou à n'être lancé que lors d'une action de l'utilisateur. Pour les plugins qui sont connectés en permanence, les icônes de la barre d'outils seront désactivées (grisées) si un plugin met fin à la connexion. Les éléments de menu du plugin ne seront plus fonctionnels.

Tant que GRT fonctionne, le plugin peut se reconnecter automatiquement après une perte de connexion avec les dernières informations de connexion. Les icônes de la barre d'outils et les menus sont alors automatiquement réactivés.

Communication (API)

La communication entre les plugins et GRT s'effectue par le biais de paquets de données qui sont échangés via une connexion socket. L'encapsulation des données se fait en texte clair par le biais de JSON-Notation avec les spécifications correspondantes à la structure.

Important

Il peut arriver qu'un paquet de données soit perdu en raison de circonstances techniques. Le plugin doit s'assurer que GRT émet les paquet de réponse pour une commande envoyée par le plugin. Si aucune réponse n'est reçue, le plugin peut le reconnaître et exécuter à nouveau la commande.

Paquets défectueux

Le logiciel GRT renvoie au plugin les paquets détectés comme défectueux avec un message d'erreur et une description de l'erreur.

Fonctions et évènements

Le GRT envoie tous les événements activés dans le manifeste du plugin au plugin. C'est-à-dire que si le plugin a activé l'événement pour le changement d'onglet (onglet cliqué/changé par l'utilisateur), un message d'événement est automatiquement envoyé au plugin dès que l'utilisateur a cliqué sur un onglet dans GRT.

Liste des événements

Les évènements n'attendent aucune confirmation de la part du plugin. Aucun message de réponse n'est nécessaire pour les événements. Lorsqu'un événement se produit, il est envoyé à tous les plugins qui ont activé l'événement dans leur manifeste.

Note: “Tab” désigne l'onglet ou le fichier de chargement correspondant dans GRT.

Liste des fonctions (commandes)

Close

Get