Beispiel #1
0
 static void testEnumeration(VirtualBoxManager mgr, IVirtualBox vbox) {
   List<IMachine> machs = vbox.getMachines();
   for (IMachine m : machs) {
     String name;
     Long ram = 0L;
     boolean hwvirtEnabled = false, hwvirtNestedPaging = false;
     boolean paeEnabled = false;
     boolean inaccessible = false;
     try {
       name = m.getName();
       ram = m.getMemorySize();
       hwvirtEnabled = m.getHWVirtExProperty(HWVirtExPropertyType.Enabled);
       hwvirtNestedPaging = m.getHWVirtExProperty(HWVirtExPropertyType.NestedPaging);
       paeEnabled = m.getCPUProperty(CPUPropertyType.PAE);
       String osType = m.getOSTypeId();
       IGuestOSType foo = vbox.getGuestOSType(osType);
     } catch (VBoxException e) {
       name = "<inaccessible>";
       inaccessible = true;
     }
     System.out.println("VM name: " + name);
     if (!inaccessible) {
       System.out.println(
           " RAM size: "
               + ram
               + "MB"
               + ", HWVirt: "
               + hwvirtEnabled
               + ", Nested Paging: "
               + hwvirtNestedPaging
               + ", PAE: "
               + paeEnabled);
     }
   }
 }
Beispiel #2
0
  public static void main(String[] args) {
    VirtualBoxManager mgr = VirtualBoxManager.createInstance(null);

    boolean ws = false;
    String url = null;
    String user = null;
    String passwd = null;

    for (int i = 0; i < args.length; i++) {
      if (args[i].equals("-w")) ws = true;
      else if (args[i].equals("-url")) url = args[++i];
      else if (args[i].equals("-user")) user = args[++i];
      else if (args[i].equals("-passwd")) passwd = args[++i];
    }

    if (ws) {
      try {
        mgr.connect(url, user, passwd);
      } catch (VBoxException e) {
        e.printStackTrace();
        System.out.println("Cannot connect, start webserver first!");
      }
    }

    try {
      IVirtualBox vbox = mgr.getVBox();
      if (vbox != null) {
        System.out.println("VirtualBox version: " + vbox.getVersion() + "\n");
        testEnumeration(mgr, vbox);
        testReadLog(mgr, vbox);
        testStart(mgr, vbox);
        testEvents(mgr, vbox.getEventSource());

        System.out.println("done, press Enter...");
        int ch = System.in.read();
      }
    } catch (VBoxException e) {
      printErrorInfo(e);
      System.out.println("Java stack trace:");
      e.printStackTrace();
    } catch (RuntimeException e) {
      System.out.println("Runtime error: " + e.getMessage());
      e.printStackTrace();
    } catch (java.io.IOException e) {
      e.printStackTrace();
    }

    if (ws) {
      try {
        mgr.disconnect();
      } catch (VBoxException e) {
        e.printStackTrace();
      }
    }

    mgr.cleanup();
  }
Beispiel #3
0
  static void testStart(VirtualBoxManager mgr, IVirtualBox vbox) {
    IMachine m = vbox.getMachines().get(0);
    String name = m.getName();
    System.out.println("\nAttempting to start VM '" + name + "'");

    ISession session = mgr.getSessionObject();
    IProgress p = m.launchVMProcess(session, "gui", "");
    progressBar(mgr, p, 10000);
    session.unlockMachine();
  }
Beispiel #4
0
 static void testReadLog(VirtualBoxManager mgr, IVirtualBox vbox) {
   IMachine m = vbox.getMachines().get(0);
   long logNo = 0;
   long off = 0;
   long size = 16 * 1024;
   while (true) {
     byte[] buf = m.readLog(logNo, off, size);
     if (buf.length == 0) break;
     System.out.print(new String(buf));
     off += buf.length;
   }
 }