Files
libguestfs/java/examples/guestfs-java.pod
2013-01-15 18:40:17 +00:00

102 lines
2.5 KiB
Plaintext

=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<String,Object>() {
{
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<guestfs(3)>.
=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<close> method.
=head2 EXCEPTIONS
Errors from libguestfs functions are mapped into the
C<LibGuestFSException> exception. This has a single parameter which
is the error message (a C<String>).
Calling any method on a closed handle raises the same exception.
=head2 EVENTS
The L<libguestfs event API|guestfs(3)/EVENTS> is fully supported from
Java. Create a class which implements the C<EventCallback> interface,
create an instance of this class, and then call the C<GuestFS#set_event_callback>
method to register this instance. The C<event> 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<guestfs(3)>,
L<guestfs-examples(3)>,
L<guestfs-erlang(3)>,
L<guestfs-lua(3)>,
L<guestfs-ocaml(3)>,
L<guestfs-perl(3)>,
L<guestfs-python(3)>,
L<guestfs-recipes(1)>,
L<guestfs-ruby(3)>,
L<http://libguestfs.org/>,
L<http://caml.inria.fr/>.
=head1 AUTHORS
Richard W.M. Jones (C<rjones at redhat dot com>)
=head1 COPYRIGHT
Copyright (C) 2011-2012 Red Hat Inc.