Extensions¶
Introduction¶
Les extensions sont de petits programmes qui peuvent être rajoutés pour interagir avec KStars / Ekos / INDI afin de fournir des fonctions et fonctionnalités supplémentaires.
Note
Les extensions sont séparées de KStars / Ekos / INDI. Elles ne font pas partie de ce programme. Seule une manière de les appeler est fournie par commodité. Soyez sûr de comprendre les exigences et risques liés à leur utilisation.
Exigences¶
Chaque extension doit contenir au moins deux fichiers, un troisième pour l'icône est optionnel.
Le fichier programme. C'est un fichier exécutable s'exécutant sur le système de l'utilisateur. L'utilisateur utilisé pour faire tourner KStars doit posséder les droits d'exécution sur ce fichier.
Le fichier de configuration. C'est un fichier de texte définissant les entrées nécessaires et optionnelles pour cette extension. Il doit se nommer de la même manière que le fichier exécutable avec « .conf » comme extension.
It is mandatory that the configuration file contains a line starting with minimum_kstars_version=n.n.n where n.n.n is the lowest version of KStars that supports the extension e.g. 3.7.3
Optionally (and non-preferred) the configuration file may contain a line starting with runDetached=true. If present this line makes the extension run independently from KStars. Once it has been started the extension can not pass status information back to Ekos. This should only be used by extensions that are required to continue to run after KStars has closed. The extension must also provide its own user interface.
De plus, le fichier de configuration peut contenir n'importe quel autre paramètre que l'auteur de l'extension décide, ainsi que du texte libre.
Le fichier d'icône, si présent, doit être nommé de la même manière que l'exécutable avec l'extension appropriée pour le format de l'image. Les formats « jpg », « bmp », « gif », « png » et « svg » sont pris en charge. Cette icône, si fournie, sera utilisée dans la boite de sélection des extensions.
All files of the extension (executable, configuration, and optional icon) must be copied into the KStars writable data location /extensions e.g. ~/.local/share/kstars/extensions
Extensions that are present, have a valid configuration file, and have a minimum KStars version no higher than the current installation will be detected when Ekos is started. If there are no valid extensions detected the extension UI element will not be displayed. The extension UI elements are a ComboBox showing the name and icon of each detected extension, and a start/stop button. If the extension fails to close within 10 seconds of the stop button being clicked, it becomes re-enabled as an abort button that will force close the extension. Only one extension can be used at a time.
Développement¶
La suite décrit les points importants pour les développeurs d'extension.
Some extension sources including an example skeleton extension are available in the KStars Extension Github
Chaque extension doit vérifier l'existence et la validité du fichier de configuration. L'entrée minimum_kstars_version du fichier de configuration doit être vérifiée par rapport à une référence interne pour confirmer que ce fichier correspond aux exigences de l'extension. Voir l'exemple du fichier squelette.
La version de KStars est passée à l'extension comme « arg(1) » de l'appel à « QProcess ».
All interaction with KStars/Ekos/INDI should be via the DBus interface. See the skeleton example. Useful tools for interrogating, monitoring and understanding DBus include D-Feet and Bustle
It may appear on initial investigation that using the Qt DBus Adaptors system would be much easier than direct use of the Qt DBus Interfaces/Messages and KStars does provide the required xml definitions. However currently there is heavy use of custom types, the definitions of which are combined with other information in the KStars sources. This results in a large set of files from KStars that require inclusion within an extension in order to make use of the Qt DBus Adaptors. Hopefully this will be addressed in the future.