Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add File.seek to Java API
[simgrid.git] / src / bindings / java / org / simgrid / msg / File.java
index db3ff43..b1f13f9 100644 (file)
@@ -7,7 +7,9 @@
 package org.simgrid.msg;
 
 public class File {
-       protected String storage;
+       public final int SEEK_SET = 0;
+       public final int SEEK_CUR = 1;
+       public final int SEEK_END = 2;
        /**
         * Represents the bind between the java comm and the
         * native C comm. You must never access it, since it is 
@@ -16,22 +18,20 @@ public class File {
        private long bind = 0;
        /**
         * Constructor, opens the file.
-        * @param storage is the name where you can find the file descriptor 
         * @param path is the file location on the storage 
         */
-       public File(String storage, String path) {
-               this.storage = storage;
-               open(storage, path);
+       public File(String path) {
+               open(path);
        }
+       @Override
        protected void finalize() {
 
        }
        /**
-        * Opens the file whose name is the string pointed to by path. 
-        * @param storage is the name where you can find the file descriptor 
+        * Opens the file whose name is the string pointed to by path.  
         * @param path is the file location on the storage
         */
-       protected native void open(String storage, String path);
+       protected native void open(String path);
        /**
         * Read elements of a file. 
         * @param size of each element
@@ -45,16 +45,21 @@ public class File {
         */
        public native long write(long size, long nMemb);
        /**
-        * Close the file.      
-        */
+        * Write elements into a file. 
+        * @param offset : number of bytes to offset from origin
+        * @param origin : Position used as reference for the offset. It is specified by one of the following constants 
+        *                 defined in <stdio.h> exclusively to be used as arguments for this function (SEEK_SET = 
+        *                 beginning of file, SEEK_CUR = current position of the file pointer, SEEK_END = end of file)
+        */
+       public native void seek(long offset, long origin);
+
+       /** Close the file. */
        public native void close();
-       
-       /**
-        * Class initializer, to initialize various JNI stuff
-        */
+
+       /** Class initializer, to initialize various JNI stuff */
        public static native void nativeInit();
        static {
-               Msg.nativeInit();
+               org.simgrid.NativeLib.nativeInit();
                nativeInit();
        }       
 }
\ No newline at end of file