1 29 30 package com.caucho.quercus.lib.file; 31 32 import com.caucho.quercus.env.BooleanValue; 33 import com.caucho.quercus.env.Env; 34 import com.caucho.quercus.env.LongValue; 35 import com.caucho.quercus.env.QuercusClass; 36 import com.caucho.quercus.env.StringValue; 37 import com.caucho.quercus.env.Value; 38 import com.caucho.quercus.program.AbstractFunction; 39 40 public class ProtocolWrapper { 41 private QuercusClass _qClass; 42 43 protected ProtocolWrapper() 44 { 45 } 46 47 public ProtocolWrapper(QuercusClass qClass) 48 { 49 _qClass = qClass; 50 } 51 52 public BinaryStream fopen(Env env, StringValue path, StringValue mode, 53 LongValue options) 54 { 55 return new WrappedStream(env, _qClass, path, mode, options); 56 } 57 58 public Value opendir(Env env, StringValue path, LongValue flags) 59 { 60 WrappedDirectoryValue value = new WrappedDirectoryValue(env, _qClass); 61 62 if (! value.opendir(path, flags)) 63 return BooleanValue.FALSE; 64 else 65 return value; 66 } 67 68 public boolean unlink(Env env, StringValue path) 69 { 70 AbstractFunction function = _qClass.getStaticFunction("unlink"); 71 72 if (function == null) 73 return false; 74 75 return function.call(env, path).toBoolean(); 76 } 77 78 public boolean rename(Env env, StringValue path_from, StringValue path_to) 79 { 80 AbstractFunction function = _qClass.getStaticFunction("rename"); 81 82 if (function == null) 83 return false; 84 85 return function.call(env, path_from, path_to).toBoolean(); 86 } 87 88 public boolean mkdir(Env env, 89 StringValue path, LongValue mode, LongValue options) 90 { 91 AbstractFunction function = _qClass.getStaticFunction("mkdir"); 92 93 if (function == null) 94 return false; 95 96 return function.call(env, path, mode, options).toBoolean(); 97 } 98 99 public boolean rmdir(Env env, StringValue path, LongValue options) 100 { 101 AbstractFunction function = _qClass.getStaticFunction("rmdir"); 102 103 if (function == null) 104 return false; 105 106 return function.call(env, path, options).toBoolean(); 107 } 108 109 public Value url_stat(Env env, StringValue path, LongValue flags) 110 { 111 AbstractFunction function = _qClass.getStaticFunction("url_stat"); 112 113 if (function == null) 114 return BooleanValue.FALSE; 115 116 return function.call(env, path, flags); 117 } 118 119 } 120 | Popular Tags |