@@ -24,6 +24,8 @@ build:
- gir1.2-glib-2.0-dev
- gobject-introspection
- graphviz
+ - libglib2.0-dev-bin
+ - libgudev-1.0-dev
- libtool
- pandoc
- pkg-config
@@ -11,3 +11,9 @@ gpioget.rst
gpioset.rst
gpiomon.rst
gpionotify.rst
+
+gpio-manager.rst
+
+dbus-io.gpiod1.*.rst
+gpiocli.rst
+gpiocli-*.rst
@@ -30,10 +30,13 @@ DOCS_DEPS = \
cpp_line_settings.rst \
cpp_misc.rst \
cpp_request_config.rst \
+ dbus.rst \
+ dbus_api.rst \
Doxyfile \
index.rst \
glib_api.rst \
gpio_tools.rst \
+ gpiocli_top.rst \
python_api.rst \
python_chip_info.rst \
python_chip.rst \
@@ -101,6 +101,7 @@ subprocess.run(
"--enable-bindings-glib",
"--enable-introspection",
"--enable-tools",
+ "--enable-dbus",
],
check=True,
)
@@ -114,6 +115,20 @@ for page in [
"gpioset",
"gpiomon",
"gpionotify",
+ "gpio-manager",
+ "gpiocli",
+ "gpiocli-detect",
+ "gpiocli-find",
+ "gpiocli-info",
+ "gpiocli-get",
+ "gpiocli-monitor",
+ "gpiocli-notify",
+ "gpiocli-reconfigure",
+ "gpiocli-release",
+ "gpiocli-request",
+ "gpiocli-requests",
+ "gpiocli-set",
+ "gpiocli-wait",
]:
subprocess.run(
[
@@ -127,3 +142,5 @@ for page in [
],
check=True,
)
+
+subprocess.run(["gdbus-codegen", "--generate-rst", "dbus", "../dbus/lib/io.gpiod1.xml"])
new file mode 100644
@@ -0,0 +1,24 @@
+..
+ SPDX-License-Identifier: CC-BY-SA-4.0
+ SPDX-FileCopyrightText: 2025 Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+
+..
+ This file is part of libgpiod.
+
+ GPIO D-Bus API, daemon and command-line client documentation
+
+D-Bus interface
+===============
+
+The **libgpiod D-Bus API** provides an abstraction for interacting with GPIO
+chips on Linux systems via the D-Bus messaging system. It enables relatively
+efficient, asynchronous control of GPIO lines, offering methods for
+configuring, monitoring, and manipulating GPIOs.
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Contents
+
+ dbus_api
+ gpio-manager<gpio-manager>
+ gpiocli_top
new file mode 100644
@@ -0,0 +1,23 @@
+..
+ SPDX-License-Identifier: CC-BY-SA-4.0
+ SPDX-FileCopyrightText: 2025 Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+
+..
+ This file is part of libgpiod.
+
+ GPIO D-Bus API documentation
+
+D-Bus API
+=========
+
+The following set of strictly defined interfaces allow users to use any
+**D-Bus** library in order to interact with the **gpio-manager** as well as
+reimplement the manager itself if required.
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Interfaces
+
+ dbus-io.gpiod1.Chip
+ dbus-io.gpiod1.Line
+ dbus-io.gpiod1.Request
new file mode 100644
@@ -0,0 +1,29 @@
+..
+ SPDX-License-Identifier: CC-BY-SA-4.0
+ SPDX-FileCopyrightText: 2025 Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+
+..
+ This file is part of libgpiod.
+
+ GPIO D-Bus command-line client documentation
+
+Command-line client
+===================
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Manual entries
+
+ gpiocli<gpiocli>
+ gpiocli-detect<gpiocli-detect>
+ gpiocli-find<gpiocli-find>
+ gpiocli-info<gpiocli-info>
+ gpiocli-get<gpiocli-get>
+ gpiocli-monitor<gpiocli-monitor>
+ gpiocli-notify<gpiocli-notify>
+ gpiocli-reconfigure<gpiocli-reconfigure>
+ gpiocli-release<gpiocli-release>
+ gpiocli-request<gpiocli-request>
+ gpiocli-requests<gpiocli-requests>
+ gpiocli-set<gpiocli-set>
+ gpiocli-wait<gpiocli-wait>
@@ -27,3 +27,4 @@ this interface.
core_api
bindings
gpio_tools
+ dbus