Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 809 Bytes

README.md

File metadata and controls

32 lines (25 loc) · 809 Bytes

QEMUKit

Swift interface to QEMU, QMP, and QEMU guest agent.

Updating Interfaces

To update the generated sources to support a new release of QEMU, run:

$ ./generateQapi.sh /path/to/qemu

Where /path/to/qemu is a path to the QEMU source files.

Usage

import QEMUKit
import QEMUKitInternal

Task {
    let qemu = QEMUVirtualMachine()
    // set delegate to handle events
    await qemuVM.setDelegate(...)
    // start QEMU using a launcher and interface implementation
    try await qemuVM.start(launcher: system, interface: ioService)
    // run something from the monitor
    try await qemuVM.monitor?.continueBoot()
    // run something from guest agent
    try await qemuVM.guestAgent?.guestSetTime(NSDate.now.timeIntervalSince1970)
}

Note: You must link with glib-2.0