• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agama-project / agama / 11702749302

06 Nov 2024 11:35AM UTC coverage: 71.486% (+0.007%) from 71.479%
11702749302

push

github

web-flow
feat(rust): adapt to zbus 5 (#1716)

## The main goal

Although [zbus 5](https://github.com/dbus2/zbus/releases/tag/zbus-5.0.0)
5 was released a few days ago, Agama is still using zbus 3. The goal of
this PR is to adapt the code to use the latest version.

However, this task is not trivial: version 4 already introduced a good
share of breaking changes in zbus API.

## `downcast_ref` returns `Result`

The `downcast_ref` function now returns a `Result` instead of an
`Option` with, IMHO, it is the right thing to do. This change has a big
impact in our code to interact with NetworkManager, so I took the
opportunity to:

* Distinguish between a problem and a missing value (we always returned
`None` when something went wrong).
* Use `get_property` and `get_optional_property` to simplify our code a
bit.

## Other changes

- Do some refactoring and organization of D-Bus proxies.
- Improve the `network::nm::dbus` module. Let's use `get_property` and
`get_optional_property` for better readability and error handling.
Please, check [this commit
(WIP)](https://github.com/agama-project/agama/commit/c21eda839)
if you are interested in further improvements.
- Drop some unused code.

185 of 324 new or added lines in 23 files covered. (57.1%)

13 existing lines in 6 files now uncovered.

16890 of 23627 relevant lines covered (71.49%)

35.76 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

86.11
/rust/agama-lib/src/scripts/model.rs


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc