You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/09/09 10:42:51 UTC

svn commit: r812823 - in /commons/sandbox/runtime/trunk/src/main: java/org/apache/commons/runtime/io/Status.java native/shared/error.c

Author: mturk
Date: Wed Sep  9 08:42:51 2009
New Revision: 812823

URL: http://svn.apache.org/viewvc?rev=812823&view=rev
Log:
Add STATUS_IS methods

Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Status.java
    commons/sandbox/runtime/trunk/src/main/native/shared/error.c

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Status.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Status.java?rev=812823&r1=812822&r2=812823&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Status.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/io/Status.java Wed Sep  9 08:42:51 2009
@@ -423,4 +423,19 @@
         return ((s > OS_START_STATUS) && (s < OS_START_STATUS + 1000));
     }
 
+    private static native boolean is0(int what, int err);
+
+    /** Permission denied */
+    public static boolean STATUS_IS_EACCES(int s)
+    {
+        return is0(EACCES, s);
+    }
+
+    /** File exists */
+    public static boolean STATUS_IS_EEXIST(int s)
+    {
+        return is0(EEXIST, s);
+    }
+
+    /* TODO: Implement the remaining of STATUS_IS methods */
 }

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/error.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/error.c?rev=812823&r1=812822&r2=812823&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/error.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/error.c Wed Sep  9 08:42:51 2009
@@ -799,3 +799,96 @@
     x_free(i);
 }
 
+ACR_JNI_EXPORT_DECLARE(jboolean, io_Status, is0)(ACR_JNISTDARGS,
+                                                 jint what, jint err)
+{
+    int is = 0;
+
+    UNREFERENCED_STDARGS;
+    switch (what) {
+        case ACR_EACCES:
+            is = ACR_STATUS_IS_EACCES(err);
+        break;
+        case ACR_EEXIST:
+            is = ACR_STATUS_IS_EEXIST(err);
+        break;
+        case ACR_ENAMETOOLONG:
+            is = ACR_STATUS_IS_ENAMETOOLONG(err);
+        break;
+        case ACR_ENOENT:
+            is = ACR_STATUS_IS_ENOENT(err);
+        break;
+        case ACR_ENOTDIR:
+            is = ACR_STATUS_IS_ENOTDIR(err);
+        break;
+        case ACR_ENOSPC:
+            is = ACR_STATUS_IS_ENOSPC(err);
+        break;
+        case ACR_ENOMEM:
+            is = ACR_STATUS_IS_ENOMEM(err);
+        break;
+        case ACR_EMFILE:
+            is = ACR_STATUS_IS_EMFILE(err);
+        break;
+        case ACR_ENFILE:
+            is = ACR_STATUS_IS_ENFILE(err);
+        break;
+        case ACR_EBADF:
+            is = ACR_STATUS_IS_EBADF(err);
+        break;
+        case ACR_EINVAL:
+            is = ACR_STATUS_IS_EINVAL(err);
+        break;
+        case ACR_ESPIPE:
+            is = ACR_STATUS_IS_ESPIPE(err);
+        break;
+        case ACR_EAGAIN:
+            is = ACR_STATUS_IS_EAGAIN(err);
+        break;
+        case ACR_EINTR:
+            is = ACR_STATUS_IS_EINTR(err);
+        break;
+        case ACR_ENOTSOCK:
+            is = ACR_STATUS_IS_ENOTSOCK(err);
+        break;
+        case ACR_ECONNREFUSED:
+            is = ACR_STATUS_IS_ECONNREFUSED(err);
+        break;
+        case ACR_EINPROGRESS:
+            is = ACR_STATUS_IS_EINPROGRESS(err);
+        break;
+        case ACR_ECONNABORTED:
+            is = ACR_STATUS_IS_ECONNABORTED(err);
+        break;
+        case ACR_ECONNRESET:
+            is = ACR_STATUS_IS_ECONNRESET(err);
+        break;
+        case ACR_TIMEUP:
+            is = ACR_STATUS_IS_TIMEUP(err);
+        break;
+        case ACR_EHOSTUNREACH:
+            is = ACR_STATUS_IS_EHOSTUNREACH(err);
+        break;
+        case ACR_ENETUNREACH:
+            is = ACR_STATUS_IS_ENETUNREACH(err);
+        break;
+        case ACR_EFTYPE:
+            is = ACR_STATUS_IS_EFTYPE(err);
+        break;
+        case ACR_EPIPE:
+            is = ACR_STATUS_IS_EPIPE(err);
+        break;
+        case ACR_EXDEV:
+            is = ACR_STATUS_IS_EXDEV(err);
+        break;
+        case ACR_ENOTEMPTY:
+            is = ACR_STATUS_IS_ENOTEMPTY(err);
+        break;
+        case ACR_EAFNOSUPPORT:
+            is = ACR_STATUS_IS_EAFNOSUPPORT(err);
+        break;
+        default:
+        break;
+    }
+    return is ? JNI_TRUE : JNI_FALSE;
+}