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).