Ignore:
Timestamp:
Jan 1, 2013, 8:27:17 PM (12 years ago)
Author:
alloc
Message:

AEI2: .NET detection

Location:
AE/installer2/src/net/oni2/aeinstaller/backend
Files:
6 added
1 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/src/net/oni2/aeinstaller/backend/Settings.java

    r591 r594  
    1010import java.net.URLDecoder;
    1111import java.util.HashMap;
     12import java.util.Vector;
     13
     14import net.oni2.aeinstaller.backend.app_launcher.QuickAppExecution;
    1215
    1316import com.thoughtworks.xstream.XStream;
     
    2629         * @author Christian Illy
    2730         */
     31        public enum Architecture {
     32                /**
     33                 * 32 bit
     34                 */
     35                X86,
     36                /**
     37                 * 64 bit
     38                 */
     39                AMD64
     40        };
     41
     42        /**
     43         * @author Christian Illy
     44         */
    2845        public enum Platform {
    2946                /**
     
    7592        public static boolean getDebug() {
    7693                return debugRun;
     94        }
     95
     96        /**
     97         * @return Processor architecture
     98         */
     99        public static Architecture getArchitecture() {
     100                switch (getPlatform()) {
     101                        case WIN:
     102                                String arch = System.getenv("PROCESSOR_ARCHITECTURE")
     103                                                .toLowerCase();
     104                                if (arch.startsWith("x86"))
     105                                        return Architecture.X86;
     106                                return Architecture.AMD64;
     107                        case MACOS:
     108                        case LINUX:
     109                                Vector<String> cmd = new Vector<String>();
     110                                cmd.add("getconf");
     111                                cmd.add("LONG_BIT");
     112                                Vector<String> res = null;
     113                                try {
     114                                        res = QuickAppExecution.execute(cmd);
     115                                } catch (IOException e) {
     116                                        // TODO Auto-generated catch block
     117                                        e.printStackTrace();
     118                                }
     119                                if (res != null) {
     120                                        if (res.get(0).equals("64"))
     121                                                return Architecture.AMD64;
     122                                }
     123                                return Architecture.X86;
     124                        default:
     125                                return null;
     126                }
    77127        }
    78128
Note: See TracChangeset for help on using the changeset viewer.