Les APIs de Jami

OpenDHT

La documentation relative à l’API d’OpenDHT est [ici] (https://github.com/savoirfairelinux/opendht/wiki/API-Overview) et ne sera pas détaillée dans la partie suivante.

Daemon

Les gestionnaires

L’API du daemon est décomposée entre 5 gestionnaires + 1 fichier d’instance:

  • L’interface CallManager est utilisée pour gérer les actions liées aux appels et aux conférences. Étant donné que le daemon Jami prend en charge plusieurs appels entrants/sorties, toutes les actions impliquant un appel spécifique doivent traiter la méthode au moyen d’un callID unique.

  • Le ConfigurationManager était utilisé pour gérer les configurations: réglages de comptes, préférences utilisateur,…

  • Le PresenceManager est utilisé pour suivre la présence de contacts

  • Le VideoManager utilisé pour gérer les appareils vidéo et les moteurs de rendu

  • L’instance** est utilisée pour compter le nombre de clients réellement enregistrés dans le noyau. Lorsque vous initialiez votre client, vous devez l’enregistrer contre le noyau en utilisant cette interface.

DBUS

Toute la documentation et le code de l’API dbus se trouvent dans jami-daemon/bin/dbus.

Si vous utilisez linux, vous pouvez utiliser d-feet lorsque le daemon est en cours d’exécution pour manipuler l’API (ou avec tout autre outil).

Le projet LRC utilise cette API (et utilise libwrap sur Windows et macOS).

JNI

Toute la documentation et le code de l’API JNI se trouvent dans jami-daemon/bin/jni.

node js

Toute la documentation et le code de l’API Node JS se trouvent dans jami-daemon/bin/nodejs. Cette API n’est pas utilisée dans aucun projet connu et peut-être ne sera pas mise à jour.

REST

Toute la documentation et le code de l’API REST se trouvent dans jami-daemon/bin/restcpp. Cette API n’est utilisée dans aucun projet connu et peut-être pas à jour.

Enveloppe Python

Un enveloppe Python est disponible en jami-daemon/tools/jamictrl. Ce enveloppe utilise DBus.

Modules d’extension

Plugins are a good way to customize Jami if you want to interact with streams (Audio, Video or chat). Several plugins are already available through the Plugin Store (in the settings of your Jami application).