diff src/luan/lib/IoLib.java @ 145:90f38a5d0e0a

add Os.File git-svn-id: https://luan-java.googlecode.com/svn/trunk@146 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Sun, 15 Jun 2014 10:02:16 +0000
parents 2e92f0a6fcac
children cc3a0578edac
line wrap: on
line diff
--- a/src/luan/lib/IoLib.java	Sun Jun 15 06:42:58 2014 +0000
+++ b/src/luan/lib/IoLib.java	Sun Jun 15 10:02:16 2014 +0000
@@ -37,7 +37,7 @@
 		@Override public Object call(LuanState luan,Object[] args) {
 			LuanTable module = new LuanTable();
 			try {
-				add( module, "file", LuanState.class, String.class );
+				add( module, "File", LuanState.class, String.class );
 				add( module, "read_console_line", String.class );
 
 				LuanTable stdin = new LuanTable();
@@ -55,7 +55,7 @@
 				) );
 				module.put( "stdin", stdin );
 
-				add( module, "socket", String.class, Integer.TYPE );
+				add( module, "Socket", String.class, Integer.TYPE );
 				add( module, "socket_server", Integer.TYPE );
 			} catch(NoSuchMethodException e) {
 				throw new RuntimeException(e);
@@ -330,7 +330,11 @@
 		private final File file;
 
 		public LuanFile(String name) {
-			this.file = new File(name);
+			this(new File(name));
+		}
+
+		public LuanFile(File file) {
+			this.file = file;
 		}
 
 		@Override InputStream inputStream() throws IOException {
@@ -344,6 +348,22 @@
 		@Override public String name() {
 			return file.toString();
 		}
+
+		public LuanTable os_file() {
+			return new OsLib.LuanFile(file).table();
+		}
+
+		@Override LuanTable table() {
+			LuanTable tbl = super.table();
+			try {
+				tbl.put( "os_file", new LuanJavaFunction(
+					LuanFile.class.getMethod( "os_file" ), this
+				) );
+			} catch(NoSuchMethodException e) {
+				throw new RuntimeException(e);
+			}
+			return tbl;
+		}
 	}
 
 	public static LuanIn luanIo(LuanState luan,String name) throws LuanException {
@@ -359,7 +379,7 @@
 		}
 	}
 
-	public static LuanTable file(LuanState luan,String name) throws LuanException {
+	public static LuanTable File(LuanState luan,String name) throws LuanException {
 		return luanIo(luan,name).table();
 	}
 
@@ -386,7 +406,7 @@
 			return socket.toString();
 		}
 
-		public LuanTable pickle_client(LuanState luan) throws IOException {
+		public LuanTable Pickle_client(LuanState luan) throws IOException {
 			DataInputStream in = new DataInputStream(new BufferedInputStream(inputStream()));
 			DataOutputStream out = new DataOutputStream(new BufferedOutputStream(outputStream()));
 			return new PickleClient(luan,in,out).table();
@@ -401,8 +421,8 @@
 		@Override LuanTable table() {
 			LuanTable tbl = super.table();
 			try {
-				tbl.put( "pickle_client", new LuanJavaFunction(
-					LuanSocket.class.getMethod( "pickle_client", LuanState.class ), this
+				tbl.put( "Pickle_client", new LuanJavaFunction(
+					LuanSocket.class.getMethod( "Pickle_client", LuanState.class ), this
 				) );
 				tbl.put( "run_pickle_server", new LuanJavaFunction(
 					LuanSocket.class.getMethod( "run_pickle_server", LuanState.class ), this
@@ -414,7 +434,7 @@
 		}
 	}
 
-	public static LuanTable socket(String host,int port) throws IOException {
+	public static LuanTable Socket(String host,int port) throws IOException {
 		return new LuanSocket(host,port).table();
 	}