Here are the bindings shipped in the source tree:
All bindings may not be built, depending on the development libraries present on the system at build time.
A sample Hello World binding for demonstration and learning purposes.
This binding provides a few unauthenticated requests, all beginning with "ping", to demonstrate basic binder capabilities.
Verbs:
An sample Authentication binding for demonstration purposes.
This binding provides a few requests to demonstrate the binder's token-based security mechanism.
Calling "connect" with a security token will initiate a session, calling "refresh" will issue a new token and invalidate the previous one, calling "logout" will invalidate all tokens and close the session.
Verbs:
A sample Tic Tac Toe game binding.
This binding provides an interactive Tic Tac Toe game where the binder returns the grid as a JSON response.
Verbs:
A sample Audio binding with 2 backends:
This binding is able to initialize a specific soundcard, define volume levels, channels (mono/stereo...), mute sound, and play a 22,050 Hz PCM stream.
Verbs:
(if PulseAudio development libraries are not found at build time, only ALSA will be available)
(if a PulseAudio server is not found at runtime, the binding will dynamically fall back to ALSA)
(a specifc backend can be forced by using this syntax before running afb-daemon : $ export AFB_AUDIO_OUTPUT=Alsa)
A sample AM/FM Radio binding with 1 backend:
This binding is able to initialize specific RTL2832U dongles, switch between AM/FM modes, define frequency, mute sound, and play sound (if combining with the audio binding).
Verbs:
(if rtlsdr development libraries are not found at build time, this binding will not be built)
A sample Media Server binding with 1 backend:
This binding is able to detect a local Rygel UPnP media server, list audio files, select an audio file for playback, play/pause/seek in this file, upload an audio file to the server.
Verbs:
(if GUPnP/GSSDP development libraries are not fund at build time, this binding will not be built)
Sample command-line applications: afb-client-demo (built by default)
Sample HTML5 applications: **test/*.html, afb-client, afb-radio**
Sample Qt/QML applications: test/token-websock.qml