diff --git a/bindings/java/src/org/hyperic/sigar/vmware/VMControlLibrary.java b/bindings/java/src/org/hyperic/sigar/vmware/VMControlLibrary.java index fe56b0a5..b4695695 100644 --- a/bindings/java/src/org/hyperic/sigar/vmware/VMControlLibrary.java +++ b/bindings/java/src/org/hyperic/sigar/vmware/VMControlLibrary.java @@ -23,8 +23,17 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; +import java.util.ArrayList; +import java.util.List; + +import org.hyperic.sigar.SigarLoader; +import org.hyperic.sigar.win32.RegistryKey; +import org.hyperic.sigar.win32.Win32Exception; public class VMControlLibrary { + public static final String REGISTRY_ROOT = + "SOFTWARE\\VMware, Inc."; + public static final String PROP_VMCONTROL_SHLIB = "vmcontrol.shlib"; @@ -36,6 +45,9 @@ public class VMControlLibrary { private static final String VMCONTROL = "vmcontrol"; + private static final String VMCONTROL_DLL = + VMCONTROL + "lib.dll"; + private static final String VMCONTROL_OBJ = getProperty("vmcontrol.o", "control-only/" + VMCONTROL + ".o"); @@ -90,9 +102,71 @@ public class VMControlLibrary { link(VMCONTROL + ".so"); } + private static void linkWin32() { + List dlls = new ArrayList(); + + RegistryKey root = null; + try { + root = + RegistryKey.LocalMachine.openSubKey(REGISTRY_ROOT); + + String[] keys = root.getSubKeyNames(); + for (int i=0; i