Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
cpp
gi
glib
gsettings
haskell
intercept
io
jna
swig
CMakeLists.txt
README.md

README.md

Bindings

Elektra’s API is written in C, but many different bindings allow applications in different programming languages to use Elektra.

Note that a binding does not automatically allow you to implement plugins in the respective programming languages, but you additionally need an Interpreter Plugin. Nevertheless, bindings can be immediately used in applications without plugins.

List of currently supported bindings (use ALL;-EXPERIMENTAL;-DEPRECATED):

Experimental bindings (included in EXPERIMENTAL):

  • gsettings GLib bindings (experimental)
  • haskell Haskell bindings
  • intercept_fs Intercepts file system calls to configuration files (experimental)
  • io_uv I/O binding for uv (experimental)
  • io_ev I/O binding for ev (experimental)
  • io_glib I/O binding for glib (experimental)
  • jna A full java binding using JNA

Deprecated bindings (included in DEPRECATED):

  • gi_lua GObject Introspection binding with Lua specific overrides (deprecated)
  • gi_python GObject Introspection binding with Python specific overrides (deprecated)

I/O Bindings

These bindings allow Elektra to integrate into different main loop APIs using a thin abstraction layer called "I/O binding". The build all available I/O bindings use -DBINDINGS="IO" when configuring cmake.

For more information please check out the notification tutorial or the API documentation. The doc directory contains an example binding for a fictive asynchronous I/O management library.

SEE ALSO

  • See COMPILE for how to specify the bindings to build, e.g. ALL.