caterpillar 0.2.0

Detect and apply RAUC update bundles during boot
// SPDX-FileCopyrightText: 2023 David Runge <dave@sleepmap.de>
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! # DBus interface proxy for: `de.pengutronix.rauc.Installer`
//!
//! More extensive documentation can be found at https://rauc.readthedocs.io/en/latest/reference.html#d-bus-api
//!
//! This code was generated by `zbus-xmlgen` `3.1.0` from DBus introspection data.
//! Source: `de.pengutronix.rauc.Installer.xml`.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!

// NOTE: this code is auto-generated, we do not care about clippy warnings
#![allow(clippy::all)]
use zbus::dbus_proxy;

#[dbus_proxy(
    interface = "de.pengutronix.rauc.Installer",
    default_path = "/",
    default_service = "de.pengutronix.rauc",
    assume_defaults = true
)]
trait Installer {
    /// GetPrimary method
    fn get_primary(&self) -> zbus::Result<String>;

    /// GetSlotStatus method
    fn get_slot_status(
        &self,
    ) -> zbus::Result<
        Vec<(
            String,
            std::collections::HashMap<String, zbus::zvariant::OwnedValue>,
        )>,
    >;

    /// Info method
    fn info(&self, bundle: &str) -> zbus::Result<(String, String)>;

    /// Install method
    fn install(&self, source: &str) -> zbus::Result<()>;

    /// InstallBundle method
    fn install_bundle(
        &self,
        source: &str,
        args: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
    ) -> zbus::Result<()>;

    /// Mark method
    fn mark(&self, state: &str, slot_identifier: &str) -> zbus::Result<(String, String)>;

    /// Completed signal
    #[dbus_proxy(signal)]
    fn completed(&self, result: i32) -> zbus::Result<()>;

    /// BootSlot property
    #[dbus_proxy(property)]
    fn boot_slot(&self) -> zbus::Result<String>;

    /// Compatible property
    #[dbus_proxy(property)]
    fn compatible(&self) -> zbus::Result<String>;

    /// LastError property
    #[dbus_proxy(property)]
    fn last_error(&self) -> zbus::Result<String>;

    /// Operation property
    #[dbus_proxy(property)]
    fn operation(&self) -> zbus::Result<String>;

    /// Progress property
    #[dbus_proxy(property)]
    fn progress(&self) -> zbus::Result<(i32, String, i32)>;

    /// Variant property
    #[dbus_proxy(property)]
    fn variant(&self) -> zbus::Result<String>;
}