[Arakhnę-Dev] [288] * Remove the native library to get the UUID and serial number on Linux operating systems ; because a Java-based code provides the same result.

[ Thread Index | Date Index | More arakhne.org/dev Archives ]


Revision: 288
Author:   galland
Date:     2011-09-15 22:07:44 +0200 (Thu, 15 Sep 2011)
Log Message:
-----------
* Remove the native library to get the UUID and serial number on Linux operating systems; because a Java-based code provides the same result.
* Add a Java-based utility for MAC-OS and BSD operating systems to reply the UUID and serial number.

Modified Paths:
--------------
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystem.java
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemInfo.java
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemNativeWrapper.java
    trunk/arakhneVmutils/native/josuuid/pom.xml

Added Paths:
-----------
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/AbstractOperatingSystemWrapper.java
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemDiskUtilWrapper.java
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemIdentificationType.java
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemUDevWrapper.java
    trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemWrapper.java

Removed Paths:
-------------
    trunk/arakhneVmutils/native/josuuid/linux32/
    trunk/arakhneVmutils/native/josuuid/linux64/

Added: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/AbstractOperatingSystemWrapper.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/AbstractOperatingSystemWrapper.java	                        (rev 0)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/AbstractOperatingSystemWrapper.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -0,0 +1,121 @@
+/* 
+  * $Id$
+ * 
+ * Copyright (C) 2004-2009 Stephane GALLANDibrary is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This program is free software; you can redistribute it and/or modify
+ */
+
+package org.arakhne.vmutil;
+
+import java.io.InputStream;
+import java.util.regex.Pattern;
+
+/**
+ * Wrapper to the OS dependent functions.
+ * This class was introduced to avoid to kill the current
+ * JVM even if the native functions are unloadable.
+ * In this way, on operating system without the support
+ * for the native libs is still able to be run. 
+ *
+ * @author $Author: galland$
+ * @version $FullVersion$
+ * @mavengroupid $GroupId$
+ * @mavenartifactid $ArtifactId$
+ * @since 6.3
+ */
+abstract class AbstractOperatingSystemWrapper implements OperatingSystemWrapper {
+
+	/**
+	 */
+	public AbstractOperatingSystemWrapper() {
+		//
+	}
+	
+	/** Run a shell command.
+	 * 
+	 * @param command is the sheel command.
+	 * @return the standard output
+	 */
+	protected String runCommand(String... command) {
+		try {
+			Process p = Runtime.getRuntime().exec(command);
+			if (p==null) return null;
+			InputStream standardOutput = null;
+			try {
+				StringBuffer bStr = new StringBuffer();
+				standardOutput = p.getInputStream();
+				byte[] buffer = new byte[4086];
+				int len;
+				while ((len=standardOutput.read(buffer))>0) {
+					bStr.append(new String(buffer, 0, len));
+				}
+				p.waitFor();
+				return bStr.toString();
+			}
+			finally {
+				if (standardOutput!=null) standardOutput.close();
+			}
+		}
+		catch (Exception e) {
+			return null;
+		}
+	}
+	
+	/** Replies the first line that contains the given selector.
+	 * 
+	 * @param selector is the string to search for.
+	 * @param text is the text to search in.
+	 * @return the found line or <code>null</code>.
+	 */
+	protected String grep(String selector, String text) {
+		if (text==null || text.isEmpty()) return null;
+		StringBuffer line = new StringBuffer();
+		char c;
+		String s;
+		for(int i=0; i<text.length(); ++i) {
+			c = text.charAt(i);
+			if (c=='\n' || c=='\r') {
+				s = line.toString();
+				if (s.contains(selector)) return s;
+				line.setLength(0);
+			}
+			else {
+				line.append(c);
+			}
+		}
+		if (line.length()>0) {
+			s = line.toString();
+			if (s.contains(selector)) return s;
+		}
+		return null;
+	}
+
+	/** Cut the line in columns and replies the given column.
+	 * 
+	 * @param delimiter is the delmiter to use to cut.
+	 * @param column is the number of the column to reply.
+	 * @param lineText is the line to cut.
+	 * @return the column or <code>null</code>.
+	 */
+	protected String cut(String delimiter, int column, String lineText) {
+		if (lineText==null || lineText.isEmpty()) return null;
+		String[] columns = lineText.split(Pattern.quote(delimiter));
+		if (columns!=null && column>=0 && column<columns.length) {
+			return columns[column].trim();
+		}
+		return null;
+	}
+
+}

Modified: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystem.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystem.java	2011-09-15 17:56:37 UTC (rev 287)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystem.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -90,6 +90,16 @@
 	private static String osSerialNumber = null;
 	private static String osUUID = null;
 	
+	/** Replies the type of identification found on this operating system.
+	 * 
+	 * @return the type of identification found on this operating system.
+	 */
+	public static OperatingSystemIdentificationType getIdentificationType() {
+		if (nativeWrapper==null)
+			return OperatingSystemIdentificationType.BIOS;
+		return nativeWrapper.getIdentificationType();
+	}
+	
 	/** Replies if the current OperatingSystem constant is corresponding
 	 * to the current operating system.
 	 * 
@@ -274,25 +284,49 @@
 		return osUUID==NULL ? null : osUUID;
 	}
 	
-	private static final OperatingSystemNativeWrapper nativeWrapper; 
+	private static OperatingSystemWrapper nativeWrapper; 
 	
 	static {
+		OperatingSystemIdentificationType type = OperatingSystemIdentificationType.BIOS;
+		nativeWrapper = null;
+		
+		switch(getCurrentOS()) {
+		case BSD:
+		case FREEBSD:
+		case NETBSD:
+		case OPENBSD:
+		case MACOSX:
+			nativeWrapper = new OperatingSystemDiskUtilWrapper();
+			break;
+		case LINUX:
+			nativeWrapper = new OperatingSystemUDevWrapper();
+			break;
+		case WIN:
+			type = OperatingSystemIdentificationType.OPERATING_SYSTEM;
+			break;
+		case AIX:
+		case HPUX:
+		case SOLARIS:
+		case OTHER:
+		}
+		
 		Throwable error = null;
-		try {
-			LibraryLoader.loadPlatformDependentLibrary(
-					"josuuid", //$NON-NLS-1$
-					System.getProperty("os.name").trim().toLowerCase(), //$NON-NLS-1$
-					"org/arakhne/vmutil"); //$NON-NLS-1$
+		if (nativeWrapper==null) {
+			try {
+				LibraryLoader.loadPlatformDependentLibrary(
+						"josuuid", //$NON-NLS-1$
+						System.getProperty("os.name").trim().toLowerCase(), //$NON-NLS-1$
+				"org/arakhne/vmutil"); //$NON-NLS-1$
+			}
+			catch (Throwable e) {
+				error = e;
+			}
+			if (error==null) {
+				nativeWrapper = new OperatingSystemNativeWrapper(type);
+			}
 		}
-		catch (Throwable e) {
-			error = e;
-		}
-		if (error==null) {
-			nativeWrapper = new OperatingSystemNativeWrapper();
-		}
-		else {
-			nativeWrapper = null;
-			
+		
+		if (nativeWrapper==null) {
 			try {
 				ResourceBundle bundle = ResourceBundle.getBundle(OperatingSystem.class.getCanonicalName());
 				String errorMsg = bundle.getString("NATIVE_NOT_SUPPORTED"); //$NON-NLS-1$
@@ -300,11 +334,11 @@
 					System.err.println(errorMsg);
 				}
 				else {
-					error.printStackTrace();
+					if (error!=null) error.printStackTrace();
 				}
 			}
 			catch(Throwable e) {
-				error.printStackTrace();
+				e.printStackTrace();
 			}
 		}
 	}

Added: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemDiskUtilWrapper.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemDiskUtilWrapper.java	                        (rev 0)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemDiskUtilWrapper.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -0,0 +1,82 @@
+/* 
+  * $Id$
+ * 
+ * Copyright (C) 2004-2009 Stephane GALLANDibrary is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This program is free software; you can redistribute it and/or modify
+ */
+
+package org.arakhne.vmutil;
+
+import java.io.File;
+
+/**
+ * Wrapper to the MacOS functions.
+ * This class was introduced to avoid to kill the current
+ * JVM even if the native functions are unloadable.
+ * In this way, on operating system without the support
+ * for the native libs is still able to be run. 
+ *
+ * @author $Author: galland$
+ * @version $FullVersion$
+ * @mavengroupid $GroupId$
+ * @mavenartifactid $ArtifactId$
+ * @since 6.3
+ */
+class OperatingSystemDiskUtilWrapper extends AbstractOperatingSystemWrapper {
+
+	/**
+	 */
+	public OperatingSystemDiskUtilWrapper() {
+		//
+	}
+
+	private String runDiskUtil(File f, String key) {
+		String r = runCommand(
+				"diskutil", //$NON-NLS-1$
+				"info", //$NON-NLS-1$
+				f.toString());
+		return cut(":", 1, grep(key+":", r));  //$NON-NLS-1$//$NON-NLS-2$
+	}
+
+	/** {@inheritDoc}
+	 */
+	public String getOSSerialNumber(boolean enableSuperUser, boolean enableGUI) {
+		File f;
+		f = new File("/dev/disk0s1"); //$NON-NLS-1$
+		if (f.exists()) {
+			return runDiskUtil(f, "Volume UUID"); //$NON-NLS-1$
+		}
+		return null;
+	}
+
+	/** {@inheritDoc}
+	 */
+	public String getOSUUID(boolean enableSuperUser, boolean enableGUI) {
+		File f;
+		f = new File("/dev/disk0s1"); //$NON-NLS-1$
+		if (f.exists()) {
+			return runDiskUtil(f, "Volume UUID"); //$NON-NLS-1$
+		}
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public OperatingSystemIdentificationType getIdentificationType() {
+		return OperatingSystemIdentificationType.HARD_DISK;
+	}
+
+}

Added: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemIdentificationType.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemIdentificationType.java	                        (rev 0)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemIdentificationType.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -0,0 +1,58 @@
+/* 
+  * $Id$
+ * 
+ * Copyright (C) 2004-2011 Stephane GALLANDibrary is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This program is free software; you can redistribute it and/or modify
+ */
+
+package org.arakhne.vmutil;
+
+/**
+ * Types of identification of the operating system.  
+ *
+ * @author $Author: galland$
+ * @version $FullVersion$
+ * @mavengroupid $GroupId$
+ * @mavenartifactid $ArtifactId$
+ * @since 6.3
+ */
+public enum OperatingSystemIdentificationType {
+
+	/**
+	 * Identification comes from the BIOS.
+	 */
+	BIOS,
+	
+	/**
+	 * Identification comes from the Operating System itself.
+	 */
+	OPERATING_SYSTEM,
+	
+	/**
+	 * Identification comes from the hard disk.
+	 */
+	HARD_DISK,
+
+	/**
+	 * Identification comes from the network card.
+	 */
+	NETWORK_CARD,
+
+	/**
+	 * Identification comes from a dongle.
+	 */
+	DONGLE;
+
+}

Modified: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemInfo.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemInfo.java	2011-09-15 17:56:37 UTC (rev 287)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemInfo.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -74,6 +74,7 @@
 		showValue("getCurrentOSVersion()", OperatingSystem.getCurrentOSVersion()); //$NON-NLS-1$
 		showValue("getOSSerialNumber()", OperatingSystem.getOSSerialNumber()); //$NON-NLS-1$
 		showValue("getOSUUID()", OperatingSystem.getOSUUID()); //$NON-NLS-1$
+		showValue("getIdentificationType()", OperatingSystem.getIdentificationType().name()); //$NON-NLS-1$
 		showValue("getOperatingSystemArchitectureDataModel()", Integer.toString(OperatingSystem.getOperatingSystemArchitectureDataModel())); //$NON-NLS-1$
 		showValue("getCurrentOS()", OperatingSystem.getCurrentOS().name()); //$NON-NLS-1$
 		showValue("is32BitOperatingSystem()", Boolean.toString(OperatingSystem.is32BitOperatingSystem())); //$NON-NLS-1$

Modified: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemNativeWrapper.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemNativeWrapper.java	2011-09-15 17:56:37 UTC (rev 287)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemNativeWrapper.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -32,28 +32,30 @@
  * @mavenartifactid $ArtifactId$
  * @since 6.0
  */
-class OperatingSystemNativeWrapper {
+class OperatingSystemNativeWrapper implements OperatingSystemWrapper {
 
+	private final OperatingSystemIdentificationType type;
+	
 	/**
+	 * @param type is the type of identification supported by the wrapper.
 	 */
-	public OperatingSystemNativeWrapper() {
-		//
+	public OperatingSystemNativeWrapper(OperatingSystemIdentificationType type) {
+		this.type = type;
 	}
 
-	/** Get the OS serial number.
-	 * 
-	 * @param enableSuperUser indicates if the super-user commands are enabled or not.
-	 * @param enableGUI indicates if any additional GUI could be opened, or not.
-	 * @return the serial number associated to the current operating system.
+	/** {@inheritDoc}
 	 */
 	public native String getOSSerialNumber(boolean enableSuperUser, boolean enableGUI);
 
-	/** Get the OS UUID.
-	 * 
-	 * @param enableSuperUser indicates if the super-user commands are enabled or not.
-	 * @param enableGUI indicates if any additional GUI could be opened, or not.
-	 * @return an unique identifier for the current operating system.
+	/** {@inheritDoc}
 	 */
 	public native String getOSUUID(boolean enableSuperUser, boolean enableGUI);
 
+	/**
+	 * {@inheritDoc}
+	 */
+	public OperatingSystemIdentificationType getIdentificationType() {
+		return this.type;
+	}
+
 }

Added: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemUDevWrapper.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemUDevWrapper.java	                        (rev 0)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemUDevWrapper.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -0,0 +1,93 @@
+/* 
+  * $Id$
+ * 
+ * Copyright (C) 2004-2009 Stephane GALLANDibrary is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This program is free software; you can redistribute it and/or modify
+ */
+
+package org.arakhne.vmutil;
+
+import java.io.File;
+
+/**
+ * Wrapper to the MacOS functions.
+ * This class was introduced to avoid to kill the current
+ * JVM even if the native functions are unloadable.
+ * In this way, on operating system without the support
+ * for the native libs is still able to be run. 
+ *
+ * @author $Author: galland$
+ * @version $FullVersion$
+ * @mavengroupid $GroupId$
+ * @mavenartifactid $ArtifactId$
+ * @since 6.3
+ */
+class OperatingSystemUDevWrapper extends AbstractOperatingSystemWrapper {
+
+	/**
+	 */
+	public OperatingSystemUDevWrapper() {
+		//
+	}
+
+	private String runUdev(File f, String key) {
+		String r = runCommand(
+				"udevadm", //$NON-NLS-1$
+				"info", //$NON-NLS-1$
+				"-q", //$NON-NLS-1$
+				"property", //$NON-NLS-1$
+				"-n", //$NON-NLS-1$
+				f.toString());
+		return cut("=", 1, grep(key+"=", r));  //$NON-NLS-1$//$NON-NLS-2$
+	}
+	
+	/** {@inheritDoc}
+	 */
+	public String getOSSerialNumber(boolean enableSuperUser, boolean enableGUI) {
+		File f;
+		f = new File("/dev/sda"); //$NON-NLS-1$
+		if (f.exists()) {
+			return runUdev(f, "ID_SERIAL"); //$NON-NLS-1$
+		}
+		f = new File("/dev/hda"); //$NON-NLS-1$
+		if (f.exists()) {
+			return runUdev(f, "ID_SERIAL"); //$NON-NLS-1$
+		}
+		return null;
+	}
+
+	/** {@inheritDoc}
+	 */
+	public String getOSUUID(boolean enableSuperUser, boolean enableGUI) {
+		File f;
+		f = new File("/dev/sda"); //$NON-NLS-1$
+		if (f.exists()) {
+			return runUdev(f, "ID_SERIAL_SHORT"); //$NON-NLS-1$
+		}
+		f = new File("/dev/hda"); //$NON-NLS-1$
+		if (f.exists()) {
+			return runUdev(f, "ID_SERIAL_SHORT"); //$NON-NLS-1$
+		}
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public OperatingSystemIdentificationType getIdentificationType() {
+		return OperatingSystemIdentificationType.HARD_DISK;
+	}
+
+}

Added: trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemWrapper.java
===================================================================
--- trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemWrapper.java	                        (rev 0)
+++ trunk/arakhneVmutils/java/src/main/java/org/arakhne/vmutil/OperatingSystemWrapper.java	2011-09-15 20:07:44 UTC (rev 288)
@@ -0,0 +1,59 @@
+/* 
+  * $Id$
+ * 
+ * Copyright (C) 2004-2009 Stephane GALLANDibrary is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This program is free software; you can redistribute it and/or modify
+ */
+
+package org.arakhne.vmutil;
+
+/**
+ * Wrapper to the OS dependent functions.
+ * This class was introduced to avoid to kill the current
+ * JVM even if the native functions are unloadable.
+ * In this way, on operating system without the support
+ * for the native libs is still able to be run. 
+ *
+ * @author $Author: galland$
+ * @version $FullVersion$
+ * @mavengroupid $GroupId$
+ * @mavenartifactid $ArtifactId$
+ * @since 6.3
+ */
+interface OperatingSystemWrapper {
+
+	/** Replies the type of identification provided by this wrapper.
+	 * 
+	 * @return the type of identification provided by this wrapper.
+	 */
+	public OperatingSystemIdentificationType getIdentificationType();
+	
+	/** Get the OS serial number.
+	 * 
+	 * @param enableSuperUser indicates if the super-user commands are enabled or not.
+	 * @param enableGUI indicates if any additional GUI could be opened, or not.
+	 * @return the serial number associated to the current operating system.
+	 */
+	public String getOSSerialNumber(boolean enableSuperUser, boolean enableGUI);
+
+	/** Get the OS UUID.
+	 * 
+	 * @param enableSuperUser indicates if the super-user commands are enabled or not.
+	 * @param enableGUI indicates if any additional GUI could be opened, or not.
+	 * @return an unique identifier for the current operating system.
+	 */
+	public String getOSUUID(boolean enableSuperUser, boolean enableGUI);
+
+}

Modified: trunk/arakhneVmutils/native/josuuid/pom.xml
===================================================================
--- trunk/arakhneVmutils/native/josuuid/pom.xml	2011-09-15 17:56:37 UTC (rev 287)
+++ trunk/arakhneVmutils/native/josuuid/pom.xml	2011-09-15 20:07:44 UTC (rev 288)
@@ -37,8 +37,6 @@
 	    </os>
       </activation>
       <modules>
-        <module>linux32</module>
-        <module>linux64</module>
         <module>mingw32</module>
         <module>mingw64</module>
       </modules>


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/