As APIs do Jami
OpenDHT
A documentação relacionada com a API do OpenDHT encontra-se aqui e não será detalhada na parte seguinte.
Daemon
Os gestores
A API do daemon é decomposta entre 5 gestores + 1 ficheiro de instância:
A interface CallManager é utilizada para gerir as ações relacionadas com as chamadas e as conferências. Uma vez que o daemon Jami suporta múltiplas chamadas de entrada/saída, quaisquer ações que envolvam uma chamada específica devem dirigir-se ao método através de um callID único. O daemon Jami gera um callID único para as chamadas efetuadas e recebidas.
O ConfigurationManager utilizado para tratar das coisas de configuração: definições de contas, preferências do utilizador…
O PresenceManager é usado para rastrear a presença de contactos
O VideoManager utilizado para gerir dispositivos de vídeo e renderizadores
A Instance é utilizada para contar o número de clientes efetivamente registados no núcleo. Ao inicializar o seu cliente, é necessário registá-lo no núcleo utilizando esta interface.
DBUS
Toda a documentação e código para a API dbus está localizada em jami-daemon/bin/dbus
.
Se utilizar linux, pode utilizar d-feet
quando o daemon estiver a ser executado para manipular a API (ou com qualquer outra ferramenta).
O projeto LRC utiliza esta API (e utiliza libwrap no Windows e no Mac OS).
JNI
Toda a documentação e o código da API JNI estão localizados em jami-daemon/bin/jni
.
node js
Toda a documentação e código para a API Node JS está localizada em jami-daemon/bin/nodejs
. Esta API não é utilizada em nenhum projeto conhecido e talvez não esteja atualizada.
REST
Toda a documentação e código para a API REST está localizada em jami-daemon/bin/restcpp
. Esta API não é utilizada em nenhum projeto conhecido e talvez não esteja atualizada.
Python wrapper
Um wrapper Python está disponível em jami-daemon/tools/jamictrl
. Este wrapper utiliza DBus.
Módulos (plugins)
Os módulos são uma boa forma de personalizar o Jami se quiser interagir com fluxos (áudio, vídeo ou conversação). Vários módulos já estão disponíveis através da Loja de módulos (nas configurações da sua aplicação Jami).