1
0
mirror of https://gitlab.com/marcandre.lureau/qemu-display.git synced 2025-04-14 08:44:46 +00:00

qemu-display: prepare for initial release

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2025-01-15 12:38:46 +04:00
parent e33e057875
commit e79f0dc751
4 changed files with 103 additions and 3 deletions

View File

@ -11,6 +11,12 @@ members = [
default-members = ["qemu-rdw"]
resolver = "2"
[workspace.package]
edition = "2021"
rust-version = "1.77"
license = "MIT"
repository = "https://gitlab.com/marcandre.lureau/qemu-display"
[workspace.dependencies]
tracing = "0.1"
zbus = { version = "5.0", features = ["p2p", "serde_bytes"] }

View File

@ -2,9 +2,14 @@
name = "qemu-display"
version = "0.1.0"
authors = ["Marc-André Lureau <marcandre.lureau@redhat.com>"]
edition = "2021"
edition = { workspace = true }
rust-version = { workspace = true }
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
description = "Helper library to communicate with qemu -display dbus"
repository = { workspace = true }
keywords = ["D-Bus", "DBus", "QEMU", "Virtualization", "VM"]
license = { workspace = true }
categories = ["virtualization", "gui", "api-bindings"]
[features]
qmp = ["dep:qapi", "dep:base64"]

89
qemu-display/README.md Normal file
View File

@ -0,0 +1,89 @@
# QEMU -display dbus library
[![Crates.io](https://img.shields.io/crates/v/qemu-display.svg)](https://crates.io/crates/qemu-display)
[![Documentation](https://docs.rs/qemu-display/badge.svg)](https://docs.rs/qemu-display)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
Provides convenient APIs to communicate with `qemu -display dbus` from Rust.
## Features
- provides all common D-Bus interfaces by default
- provides "unix" and "win32" specific interfaces on respective targets
- optional "qmp" feature, to allow connecting to QEMU via p2p / bus-less.
## Installation
Add this to your `Cargo.toml`:
```toml
[dependencies]
qemu-display = "0.1.0"
```
## Quick Start
Here's a simple example of how to use the library:
```rust
use qemu_display::Display;
use zbus::Connection;
#[async_std::main]
async fn main() -> Result<(), Box<dyn Error>> {
let conn = Connection::session().await?;
let display = Display::new::<()>(&conn, None).await?;
// TODO: complete this example
Ok(())
}
```
## API Documentation
For detailed API documentation, please visit [docs.rs/qemu-display](https://docs.rs/qemu-display).
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
### Development Setup
1. Clone the repository:
```bash
git clone https://gitlab.com/marcandre.lureau/qemu-display
cd qemu-display/qemu-display
```
2. Build the project:
```bash
cargo build
```
3. Run tests:
```bash
cargo test
```
## Changelog
### [0.1.0] - 2025-01-15
- Initial release
## License
This project is licensed under the MIT License - see the [LICENSE](https://opensource.org/licenses/MIT) file for details.
## Acknowledgments
- Thanks to contributors
- Credit to Rust, QEMU and zbus
- Red Hat!
## Contact
- Email: marcandre.lureau@gmail.com
---
Built with ❤️ using Rust

View File

@ -1,6 +1,6 @@
#![doc = include_str!("../README.md")]
#![allow(clippy::too_many_arguments)]
pub use memmap2;
pub use zbus;
pub mod util;