diff options
Diffstat (limited to 'NET/worlds/console/NSProtocolHandler.java')
| -rw-r--r-- | NET/worlds/console/NSProtocolHandler.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/NET/worlds/console/NSProtocolHandler.java b/NET/worlds/console/NSProtocolHandler.java new file mode 100644 index 0000000..bb19216 --- /dev/null +++ b/NET/worlds/console/NSProtocolHandler.java @@ -0,0 +1,36 @@ +package NET.worlds.console; + +import NET.worlds.scape.TeleportAction; +import java.io.IOException; + +public class NSProtocolHandler extends IClassFactory { + public static final String CLSID_GammaProtocol1 = "{f8535c80-f5ee-11d2-a6ac-0050041a1735}"; + + public NSProtocolHandler() throws IOException { + this.init(createLocal()); + } + + public void activate() throws IOException { + super.activate("{f8535c80-f5ee-11d2-a6ac-0050041a1735}"); + } + + public void register() { + super.register("Gamma Protocol Handler", "{f8535c80-f5ee-11d2-a6ac-0050041a1735}", "Gamma.Protocol", "Gamma.Protocol.1"); + } + + public static void newURL(String url) { + if ((ActiveX.getDebugLevel() & 16) > 0) { + System.out.println("OLEDEBUG: Netscape URL: " + url); + } + + TeleportAction.teleport(url, null, true); + GammaFrame frame = Console.getFrame(); + int handle = Window.findWindow(frame.getTitle()); + if (handle != 0) { + Window.setWindowState(handle, 0); + Window.setForegroundWindow(handle); + } + } + + public static native int createLocal() throws IOException; +} |