此页面列出了D-Bus协议的实现和语言绑定、它们的状态以及下载它们的链接(如果合适)。
跨语言(绑定到多种语言)
GDBus(通用数据总线)
自2.26+版本以来,GDBus是GNOME的GLib库的一部分。语言绑定可通过GObject-Introspection获得。它是D-Bus协议的实现(不是绑定)。
QtDB总线
QtDBus是Qt的一部分,是libdbus的高级绑定。QtDBus有多种语言绑定。
Eldbus公司
Eldbus是启蒙运动EFL的一部分。它是libdbus的绑定。
libdbus(dbus的一部分)
如果您直接使用这个低级API,那么您会遇到一些麻烦-官方API文档
libdbus是dbus的一部分,是D-Bus协议的参考实现。这并不意味着最好的实现了D-Bus,而且在大多数情况下,它并不是最好的。其维护人员建议使用GDBus、sd-bus或QtDBus。
sd-总线
sd-bus是libsystemd的一部分,是D-bus协议的实现(不是绑定)。
C++
如果您为D-Bus实现了一个新的C++库,请将其称为比/dbus-C(p|x|plus|+)\1/更独特的库,否则每个人都会将其与现有库混淆。
dbus-cxx
dbus-cxx是libdbus的sigc++绑定。
dbus-cpp
dbus-cpp是libdbus的一个仅用于头的C++11绑定。
数据库总线-c++
也称为dbus-cplusplus,这是libdbus的C++绑定。它似乎处于非活动状态(2011年最新版本),不建议使用。存在各种叉子;如果你知道,请在这里列出任何积极维护的叉子。
sdbus-c总线++
systemd的sd-bus的C++17绑定。
蟒蛇
皮德布斯
皮德布斯是一个构建在PyGI和GDBus之上的现代pythonic D-Bus库。
python-sdbus
python-sdbus是另一个用于D-Bus的现代python库。
GDBus(通用数据总线)
GDBus是GLib中的D-Bus实现,可以从Python 2或3通过PyGI公司。
QtDB总线
QtDBus是Qt中的D-Bus实现,可以通过最新版本的?PyQt公司。
txdbus公司
txdbus总线是Twisted网络框架的D-Bus协议的本地Python实现。
吉普尼
吉普尼是一个纯Python D-Bus模块。它由实现协议的无IO-free内核和集成组成用于阻塞I/O和不同的异步框架。
红宝石
ruby-dbus总线
ruby-dbus总线是最流行的Ruby D-Bus库。它是D-Bus协议的实现(不是绑定)。
去吧
godbus/dbus总线
生锈
津巴布韦
Rust实现,基于Serde。
dbus-rs
基于libdbus的绑定。
埃尔朗
erlang-dbus总线
万能药
数据总线
OCaml公司
obus(眼球)
.NET版本
dbus-夏普
dbus-sharp是D-Bus协议的实现(不是绑定)。
艾达
D_总线/Ada
哈斯克尔
数据库总线
数据库总线
d总线
d总线
udbus总线
udbus总线
波尔
净值::DBus
目标C
数据库工具包
Tcl公司
dbus-tcl
帕斯卡尔
FreePascal dbus包
FreePascal包含dbus包。
甘巴斯
gb.dbus总线
Gambas包含gb.dbus包。
Java语言
dbus-java
自2.0版以来,它一直是协议的完整本机实现,而不是参考实现的包装器。1.x版本是围绕引用实现的功能完整绑定。
Java D-Bus托管在freedesktop.org的git存储库。
当前版本为dbus-java-2.7.tar.gz. (2009-12-06)
绑定引用实现的最后一个版本是libdbus-java-1.13.tar.gz. (2006-12-26)
D-Bus的Java实现的文档和API参考是在这里。
维修人员是马修·约翰逊<dbus@matthew.ath.cx>
过时的库
DBus-GLib(过时、未维护)
dbus-glib是libdbus的旧glib绑定。新的GLib应用程序应该使用GDBus。请参见上文。
DBus-GLib假装线程安全,但事实并非如此。对象模型是垃圾,在GDBus(如上)中实现得更好。代码未维护。不要使用它。
dbus-python(基于dbus-GLib)
新应用程序应使用pydbus、txdbus或GDBus/QtDBus绑定。请参见上文。
dbus-python是libdbus的绑定,是D-Bus的参考实现。出于兼容性的原因,它的API涉及大量的类型查询(尽管“显式优于隐式”和“抵制猜测的诱惑”)。