Revision: 5616
          http://jnode.svn.sourceforge.net/jnode/?rev=5616&view=rev
Author:   lsantha
Date:     2009-07-22 10:07:29 +0000 (Wed, 22 Jul 2009)

Log Message:
-----------
Adedd NativeProcesImpl.

Modified Paths:
--------------
    trunk/all/lib/ftp.properties

Added Paths:
-----------
    trunk/core/src/openjdk/vm/java/lang/JNodeProcess.java
    trunk/core/src/openjdk/vm/java/lang/NativeProcessImpl.java

Modified: trunk/all/lib/ftp.properties
===================================================================
--- trunk/all/lib/ftp.properties        2009-07-22 08:26:30 UTC (rev 5615)
+++ trunk/all/lib/ftp.properties        2009-07-22 10:07:29 UTC (rev 5616)
@@ -1,3 +1,3 @@
-classlib.url=http://codemammoth.com/jnodeftp/classlib/20090524110358
-classlib.md5=d49489983eb3850e707c0fe8da830806
-classlib-src.md5=e531cd0e489a81e0e38542b3412077bb
\ No newline at end of file
+classlib.url=http://codemammoth.com/jnodeftp/classlib/20090722120045
+classlib.md5=db80e29d8154341d4cf4dc8b1476a131
+classlib-src.md5=72ead15492b953ed1b8022b816971730
\ No newline at end of file

Added: trunk/core/src/openjdk/vm/java/lang/JNodeProcess.java
===================================================================
--- trunk/core/src/openjdk/vm/java/lang/JNodeProcess.java                       
        (rev 0)
+++ trunk/core/src/openjdk/vm/java/lang/JNodeProcess.java       2009-07-22 
10:07:29 UTC (rev 5616)
@@ -0,0 +1,53 @@
+package java.lang;
+
+import java.io.OutputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.Arrays;
+
+/**
+ *
+ */
+class JNodeProcess extends Process {
+
+    static Process start(String[] cmdarray, java.util.Map<String, String> 
environment, String dir,
+                                boolean redirectErrorStream) throws 
IOException {
+        
+        System.out.println("cmdarray: " + Arrays.asList(cmdarray));
+        System.out.println("environment: " + environment);
+        System.out.println("dir: " + dir);
+        System.out.println("redirectErrorStream: " + redirectErrorStream);
+
+        return new JNodeProcess();
+    }
+    
+    @Override
+    public OutputStream getOutputStream() {
+        return null;
+    }
+
+    @Override
+    public InputStream getInputStream() {
+        return null;
+    }
+
+    @Override
+    public InputStream getErrorStream() {
+        return null;
+    }
+
+    @Override
+    public int waitFor() throws InterruptedException {
+        return 0;
+    }
+
+    @Override
+    public int exitValue() {
+        return 0;
+    }
+
+    @Override
+    public void destroy() {
+
+    }
+}

Added: trunk/core/src/openjdk/vm/java/lang/NativeProcessImpl.java
===================================================================
--- trunk/core/src/openjdk/vm/java/lang/NativeProcessImpl.java                  
        (rev 0)
+++ trunk/core/src/openjdk/vm/java/lang/NativeProcessImpl.java  2009-07-22 
10:07:29 UTC (rev 5616)
@@ -0,0 +1,66 @@
+package java.lang;
+
+import java.io.IOException;
+
+/**
+ * 
+ */
+class NativeProcessImpl {
+    private NativeProcessImpl() {}
+    static Process start(String[] cmdarray, java.util.Map<String, String> 
environment, String dir,
+                                boolean redirectErrorStream) throws 
IOException {
+        return JNodeProcess.start(cmdarray, environment, dir, 
redirectErrorStream);
+    }
+}
+
+/*
+private ProcessImpl() {}    // Not instantiable
+
+    private static byte[] toCString(String s) {
+        if (s == null)
+            return null;
+        byte[] bytes = s.getBytes();
+        byte[] result = new byte[bytes.length + 1];
+        System.arraycopy(bytes, 0,
+                         result, 0,
+                         bytes.length);
+        result[result.length-1] = (byte)0;
+        return result;
+    }
+
+    // Only for use by ProcessBuilder.start()
+    static Process start(String[] cmdarray,
+                         java.util.Map<String,String> environment,
+                         String dir,
+                         boolean redirectErrorStream)
+        throws IOException
+    {
+        assert cmdarray != null && cmdarray.length > 0;
+
+        // Convert arguments to a contiguous block; it's easier to do
+        // memory management in Java than in C.
+        byte[][] args = new byte[cmdarray.length-1][];
+        int size = args.length; // For added NUL bytes
+        for (int i = 0; i < args.length; i++) {
+            args[i] = cmdarray[i+1].getBytes();
+            size += args[i].length;
+        }
+        byte[] argBlock = new byte[size];
+        int i = 0;
+        for (byte[] arg : args) {
+            System.arraycopy(arg, 0, argBlock, i, arg.length);
+            i += arg.length + 1;
+            // No need to write NUL bytes explicitly
+        }
+
+        int[] envc = new int[1];
+        byte[] envBlock = ProcessEnvironment.toEnvironmentBlock(environment, 
envc);
+
+        return new UNIXProcess
+            (toCString(cmdarray[0]),
+             argBlock, args.length,
+             envBlock, envc[0],
+             toCString(dir),
+             redirectErrorStream);
+    }
+    */
\ No newline at end of file


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
_______________________________________________
Jnode-svn-commits mailing list
Jnode-svn-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jnode-svn-commits

Reply via email to