virtualbox_rs 0.2.0

A Rust library for interacting with VirtualBox, providing a safe and idiomatic interface to the VirtualBox API.
Documentation
# `virtualbox_rs`
is a Rust library for interacting with VirtualBox through its SDK.

 This library provides a comprehensive set of bindings to manage VirtualBox VMs, including
creating, deleting, and modifying virtual machines, handling snapshots, and configuring
various VM settings such as network adapters, audio settings, and encryption.

 # Features

 - Create and manage VirtualBox VMs
 - Handle VM snapshots
 - Configure VM settings (network, audio, encryption, etc.)
 - Support for different VirtualBox API versions (6.1 and 7.0)
!
 # Example

```rust
use virtualbox_rs::{Session, VirtualBox};
use virtualbox_rs::enums::SessionType;

fn main() {
    let vbox = VirtualBox::init().unwrap();
    let mut session = Session::init().unwrap();
    let machine = vbox.find_machines("Freebsd_14").unwrap();
    machine.lock_machine(&mut session, SessionType::Shared).unwrap();

    let machine_mut = session.get_machine().unwrap();
    let progress = machine_mut.delete_snapshot_and_all_children("278ef54a-2e75-4aba-b212-551af4c69725").unwrap();
    progress.wait_for_completion(-1).unwrap();
}
 ```

 # Supported Platforms

This library has been tested on:
 - FreeBSD 14.0
 - Ubuntu 24.04

 # Note

 Not everything has been implemented yet. The library emphasizes providing examples for each method, which should simplify its usage.