Home » Developing U++ » UppHub » DBus package for U++ (A D-Bus client side implementation for U++)
| DBus package for U++ [message #62049] |
Sun, 30 August 2026 16:13  |
Oblivion
Messages: 1276 Registered: August 2007
|
Senior Contributor |
|
|
Hi,
I have made my DBus package for U++ public. Basically, it is a fresh implementation of DBus protocol from scratch.
It will be available on UppHub, shortly (awaiting merge).
Here's a summary from its README:
DBus is a native D-Bus Inter-Process Communication (IPC) library for the U++ framework. This repository contains the core DBus components required to build both clients and servers entirely using native U++ code.
Features
- Native Protocol Implementation: Speaks the D-Bus binary protocol directly using standard U++ Socket and String classes, avoiding external dependencies like libdbus or glib.
- Event Loop Integration: Integrates easily with U++'s SocketWaitEvent for asynchronous messaging. It sleeps when idle and wakes on network traffic, ensuring it won't burn CPU cycles or freeze your GUI.
- Full Client & Server Support: Query properties, call remote methods, claim well-known bus names, listen for incoming requests, and send structured replies seamlessly.
- Built-in Authentication: Automatically handles standard D-Bus EXTERNAL handshakes to connect cleanly to both local session buses and system buses.
Documentation & Tutorials
Design Docs: Pseudoblocking, Async Mechanics, and API Usage
Tutorials:
Method Calling
Complex Variant Marshaling
Global Multiplexing and Async Event Loops
Sending Desktop Notifications
Building a Server Service
Examples
The DBus nest ships with ready-to-run interactive examples demonstrating both client-side and server-side setups, from basic blocking calls to background daemons.
- Method A basic example demonstrating D-Bus method calls.
- Notify A minimal client application demonstrating how to trigger a native desktop notification using a simple blocking method call.
- Monitor An asynchronous listener that subscribes to system-wide D-Bus broadcast signals and logs them to the console in real-time.
- Marshall Demonstrates how to marshall complex, poymorphic D-Bus data easily.
- Properties Demonstrates how to query and parse complex nested structures using the standard org.freedesktop.DBus.Properties interface.
- Server A headless background daemon that claims a well-known bus name and routes remote method requests asynchronously.
Github page: https://github.com/ismail-yilmaz
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
TerminalCtrl package https://github.com/ismail-yilmaz/Terminal
|
|
|
|
|
|
Goto Forum:
Current Time: Tue Sep 08 05:07:04 GMT+2 2026
Total time taken to generate the page: 0.00623 seconds
|