package php.runtime.ext;
import php.runtime.env.CompileScope;
import php.runtime.env.Environment;
import php.runtime.ext.core.classes.net.WrapNetAddress;
import php.runtime.ext.core.classes.stream.Stream;
import php.runtime.ext.net.WrapNetStream;
import php.runtime.ext.net.WrapProxy;
import php.runtime.ext.net.WrapURL;
import php.runtime.ext.net.WrapURLConnection;
import php.runtime.ext.support.Extension;
import java.net.*;
public class NetExtension extends Extension {
public final static String NAMESPACE = "php\\net\\";
@Override
public String getVersion() {
return "~";
}
@Override
public Status getStatus() {
return Status.STABLE;
}
@Override
public String[] getPackageNames() {
return new String[] { "std", "net" };
}
@Override
public void onRegister(CompileScope scope) {
registerClass(scope, WrapNetStream.class);
registerWrapperClass(scope, Proxy.class, WrapProxy.class);
registerWrapperClass(scope, URLConnection.class, WrapURLConnection.class);
registerWrapperClass(scope, URL.class, WrapURL.class);
registerWrapperClass(scope, InetAddress.class, WrapNetAddress.class);
}
@Override
public void onLoad(Environment env) {
Stream.registerProtocol(env, "http", WrapNetStream.class);
Stream.registerProtocol(env, "https", WrapNetStream.class);
Stream.registerProtocol(env, "ftp", WrapNetStream.class);
}
}