#ifndef JS_FILE_H #define JS_FILE_H extern JSClass js_File_class; /*/* File object Provides access to information about a file. class File { public: //Get the file permissions int getPermissions() //Is the file readable. bool isReadable() //Is the file writable bool isWritable() //Is the file executable bool isExecutable() //Is the file a link bool isLink() //Is the file a pipe bool isPipe() //Is the file a socket bool isSocket() //Is this a directory bool isDirectory() //Get the last modification date Date getLastModified() //Get the last access time Date getLastAccess() //Get the creation time Date getCreationTime() //Get file size int getSize() //Truncate the file to a given length void truncate(int size) //Update last modification time to now void touch() } */ static JSBool File_ctor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_exists(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_create(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_touch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_getPermissions(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isReadable(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isWritable(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isExecutable(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isLink(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isPipe(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isSocket(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_isDirectory(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_getLastModified(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_getLastAccess(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_getCreationTime(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_getSize(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); static JSBool File_truncate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); JSBool register_class_File(JSContext *cx); struct _FileInformation { char *filename; FILE *fp; }; typedef struct _FileInformation FileInformation; extern JSFunctionSpec File_methods[]; #endif