=encoding utf8 =head1 NAME guestfs-java - How to use libguestfs from Java =head1 SYNOPSIS import com.redhat.et.libguestfs.*; GuestFS g = new GuestFS (); g.add_drive ("disk.img", new HashMap() { { put ("readonly", Boolean.TRUE); put ("format", "raw"); } }); g.launch (); =head1 DESCRIPTION This manual page documents how to call libguestfs from the Java programming language. This page just documents the differences from the C API and gives some examples. If you are not familiar with using libguestfs, you also need to read L. =head2 CLOSING THE HANDLE The handle is closed when it is reaped by the garbage collector. Because libguestfs handles include a lot of state, it is also possible to close (and hence free) them explicitly by calling the C method. =head2 EXCEPTIONS Errors from libguestfs functions are mapped into the C exception. This has a single parameter which is the error message (a C). Calling any method on a closed handle raises the same exception. =head2 EVENTS The L is fully supported from Java. Create a class which implements the C interface, create an instance of this class, and then call the C method to register this instance. The C method of the class is called when libguestfs generates an event. For example, this will print all trace events: GuestFS g = new GuestFS (); g.set_trace (true); g.set_event_callback ( new EventCallback () { public void event (long event, int eh, String buffer, long[] array) { System.out.println (GuestFS.eventToString (event) + ": " + buffer); } }, GuestFS.EVENT_TRACE); g.add_drive_ro ("disk.img"); // etc. The output looks similar to this: EVENT_TRACE: add_drive_ro "disk.img" EVENT_TRACE: add_drive_ro = 0 // etc. =head1 EXAMPLE 1: CREATE A DISK IMAGE @EXAMPLE1@ =head1 EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE @EXAMPLE2@ =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L. =head1 AUTHORS Richard W.M. Jones (C) =head1 COPYRIGHT Copyright (C) 2011-2012 Red Hat Inc.