You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,17 +3,19 @@ A C++ open-source project that exposes existing DBus services over HTTP/JSON, en
3
3
4
4
# Core Concept
5
5
dbus2http dynamically discovers DBus services, object paths, and methods via DBus introspection. It acts as a bridge:
6
-
Converts incoming HTTP/JSON requests to DBus method calls (using DBus method signatures for type mapping)
7
-
Executes the DBus method on the target service/object
8
-
Converts DBus method responses back to JSON and returns them via HTTP
6
+
*Converts incoming HTTP/JSON requests to DBus method calls (using DBus method signatures for type mapping)
7
+
*Executes the DBus method on the target service/object
8
+
*Converts DBus method responses back to JSON and returns them via HTTP
9
9
10
10
# Features
11
-
* Dynamic DBus Introspection: Recursively enumerates DBus services, object paths, and methods from the session/system bus
12
-
* HTTP Method Invocation: Expose DBus methods via HTTP POST requests
11
+
* Dynamic DBus Introspection: Recursively enumerates all available DBus services, object paths, interfaces, and their methods, signals, and properties from the session or system bus using the Introspect method.
12
+
* HTTP Discovery Endpoint: Exposes an HTTP interface (GET /introspect) to retrieve the complete, scanned introspection data in a structured JSON format, providing a live overview of the available DBus ecosystem.
13
+
* HTTP Method Invocation: Call any DBus method via an HTTP POST request. dbus2http automatically converts your JSON payload into the correct DBus message types, executes the call, and converts the response back to JSON.
14
+
* DBus Signal Monitoring: Subscribe to DBus signals using a WebSocket connection. Provide a DBus match rule to filter signals, and dbus2http will forward matching signals as JSON messages over the WebSocket in real-time.
13
15
14
16
# Dependencies
15
-
C++17 or later (required for sdbus-cpp and httplib.h)
16
-
sdbus-cpp: DBus library for C++ (with introspection support)
17
-
httplib.h: Header-only C++ HTTP server/client library (included as a submodule)
0 commit comments