[Title] Added Win7, WinXP check and 64bit check
authorgyeongseok.seo <gyeongseok.seo@samsung.com>
Fri, 24 Aug 2012 07:01:20 +0000 (16:01 +0900)
committergyeongseok.seo <gyeongseok.seo@samsung.com>
Fri, 24 Aug 2012 07:01:20 +0000 (16:01 +0900)
[Type] Enhancement
[Module] common-eplugin
[Priority] Minor
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: Idf08f061f164354a9c40fd5a8d960a5771127f53

org.tizen.common/src/org/tizen/common/util/OSChecker.java

index 3331a46..9890ab0 100644 (file)
@@ -26,6 +26,7 @@ package org.tizen.common.util;
 
 /**
  * @author Changhyun Lee {@literal <changhyun1.lee@samsung.com>} (S-Core)
+ * @author Gyeongseok Seo {@literal <gyeongseok.seo@samsung.com>} (S-Core)
  *  <ul>
  *  <li> initial creation
  *  <li> thanks to Yoon Kyung Koo  
@@ -35,12 +36,14 @@ public class OSChecker {
     //
     // OS ID constants
     //
-    public final static int WINDOWS = 0x0001;
-    public final static int MAC = 0x0002;
-    public final static int LINUX = 0x0004;
-    public final static int UNIX = 0x0008;
-    public final static int AIX = 0x0010;
-    public final static int SOLARIS = 0x0020;
+    public final static int WINDOWS = 0x0100;
+    public final static int WINDOWSXP = 0x0101;
+    public final static int WINDOWS7 = 0x0102;
+    public final static int MAC = 0x0200;
+    public final static int LINUX = 0x0400;
+    public final static int UNIX = 0x0800;
+    public final static int AIX = 0x1000;
+    public final static int SOLARIS = 0x2000;
 
     //
     // Vendor constants
@@ -71,6 +74,11 @@ public class OSChecker {
 
         if (osName.indexOf("WINDOWS") >= 0) {
             osID |= OSChecker.WINDOWS;
+            if ( ObjectUtil.equals(osName, "WINDOWS XP") ) {
+                osID |= OSChecker.WINDOWSXP;
+            } else if ( ObjectUtil.equals(osName, "WINDOWS 7") ) {
+                osID |= OSChecker.WINDOWS7;
+            }
         } else if (osName.indexOf("MAC") >= 0) {
             osID |= OSChecker.MAC;
         } else if (osName.indexOf("LINUX") >= 0) {
@@ -108,6 +116,13 @@ public class OSChecker {
         return ((osID & OSChecker.WINDOWS) > 0);
     }
 
+    public static boolean isWindowsXP() {
+        return (osID == OSChecker.WINDOWSXP);
+    }
+    public static boolean isWindows7() {
+        return (osID == OSChecker.WINDOWS7);
+    }
+
     public static boolean isMAC() {
         return ((osID & OSChecker.MAC) > 0);
     }
@@ -157,4 +172,14 @@ public class OSChecker {
         return (vendorID == 0);
     }
 
+    /* querying arch */
+    public static boolean is64bit() {
+        boolean is64bit = false;
+        if ( OSChecker.isWindows() ) {
+            is64bit = (System.getenv("ProgramFiles(x86)") != null);
+        } else {
+            is64bit = (System.getProperty("os.arch").indexOf("64") != -1);
+        }
+        return is64bit;
+    }
 }