home *** CD-ROM | disk | FTP | other *** search
- package WMPNS;
-
- import java.applet.Applet;
- import java.awt.Component;
- import java.awt.Graphics;
- import netscape.javascript.JSObject;
- import netscape.security.ForbiddenTargetException;
- import netscape.security.Principal;
- import netscape.security.PrivilegeManager;
- import netscape.security.Target;
- import sun.awt.DrawingSurface;
- import sun.awt.DrawingSurfaceInfo;
- import sun.awt.windows.WDrawingSurfaceInfo;
-
- public class WMP extends Applet {
- int m_iEventThreadID = 0;
- int m_iMainThreadID = 0;
- int m_hwndApplet = 0;
- int m_hwndTarget = 0;
- String m_sEventPrefix = "";
- private EventThread thread = null;
- private IWMPPlayer m_IWMPPlayer = null;
-
- public IWMPMediaCollection getMediaCollection() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getMediaCollection() : null;
- }
-
- public void stop() {
- if (this.m_iEventThreadID != 0) {
- this.thread.m_fFireEvents = false;
- }
-
- if (this.m_iMainThreadID != 0) {
- this.killThread(this.m_iMainThreadID);
- this.m_iMainThreadID = 0;
- }
-
- if (this.m_iEventThreadID != 0) {
- this.thread.kill();
- this.thread.stop();
- this.m_iEventThreadID = 0;
- }
-
- }
-
- public void launchURL(String var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.launchURL(var1);
- }
-
- }
-
- public IWMPPlaylist newPlaylist(String var1, String var2) {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.newPlaylist(var1, var2) : null;
- }
-
- public int getOpenState() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getOpenState() : -1;
- }
-
- public int getPlayState() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getPlayState() : -1;
- }
-
- public boolean getStretchToFit() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getStretchToFit() : false;
- }
-
- public void setStretchToFit(boolean var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setStretchToFit(var1);
- }
-
- }
-
- public boolean getWindowlessVideo() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getWindowlessVideo() : false;
- }
-
- public void setWindowlessVideo(boolean var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setWindowlessVideo(var1);
- }
-
- }
-
- private native void killThread(int var1);
-
- public IWMPPlaylistCollection getPlaylistCollection() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getPlaylistCollection() : null;
- }
-
- public IWMPPlaylist getCurrentPlaylist() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getCurrentPlaylist() : null;
- }
-
- public void setCurrentPlaylist(IWMPPlaylist var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setCurrentPlaylist(var1);
- }
-
- }
-
- public IWMPPlayerApplication getPlayerApplication() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getPlayerApplication() : null;
- }
-
- public void update(Graphics var1) {
- }
-
- public boolean getIsOnline() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getIsOnline() : false;
- }
-
- public boolean getFullScreen() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getFullScreen() : false;
- }
-
- public void setFullScreen(boolean var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setFullScreen(var1);
- }
-
- }
-
- private native void debug(String var1);
-
- public void start() {
- boolean var1 = false;
-
- try {
- PrivilegeManager.getPrivilegeManager().enablePrivilege(Target.findTarget("UniversalLinkAccess"), (Principal)null);
- var1 = true;
- } catch (ForbiddenTargetException var5) {
- System.out.println("Unable to get sufficient privileges.");
- System.out.println(((Throwable)var5).toString());
- ((Throwable)var5).printStackTrace();
- }
-
- if (!var1) {
- try {
- new RuntimePermission("loadLibrary.WMPNS");
- } catch (Exception var4) {
- System.out.println("Unable to get sufficient privileges.");
- System.out.println(((Throwable)var4).toString());
- ((Throwable)var4).printStackTrace();
- }
- }
-
- if (var1) {
- try {
- System.loadLibrary("wmpns");
- } catch (Exception var3) {
- System.out.println(((Throwable)var3).toString());
- ((Throwable)var3).printStackTrace();
- return;
- }
-
- this.m_hwndApplet = this.getHWND();
- if (this.m_hwndApplet == 0) {
- this.debug("Failed to get window handle of applet.");
- return;
- }
-
- this.m_sEventPrefix = ((Applet)this).getParameter("EventPrefix");
- if (this.m_sEventPrefix == null) {
- this.m_sEventPrefix = "";
- }
-
- try {
- JSObject var2 = JSObject.getWindow(this);
- this.thread = new EventThread();
- this.thread.m_JSOWindow = var2;
- this.thread.m_WMPApplet = this;
- this.thread.start();
-
- while(this.m_iEventThreadID == 0) {
- }
- } catch (Exception var6) {
- ((Throwable)var6).printStackTrace();
- this.debug("Exception caught while getting JSObject. Events will not be fired.");
- this.debug(((Throwable)var6).toString());
- }
-
- this.m_iMainThreadID = this.spawnThread(this.m_hwndApplet, this.m_iEventThreadID);
- this.m_hwndTarget = this.getTargetHWND(this.m_iMainThreadID);
- this.m_IWMPPlayer = this.getPlayer();
- if (this.m_IWMPPlayer != null) {
- this.getParams();
- }
- }
-
- }
-
- public IWMPNetwork getNetwork() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getNetwork() : null;
- }
-
- public String getStatus() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getStatus() : null;
- }
-
- public IWMPMedia getCurrentMedia() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getCurrentMedia() : null;
- }
-
- public void setCurrentMedia(IWMPMedia var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setCurrentMedia(var1);
- }
-
- }
-
- private void getParams() {
- IWMPSettings var2 = this.getSettings();
- IWMPControls var3 = this.getControls();
- IWMPClosedCaption var4 = this.getClosedCaption();
- String var1 = ((Applet)this).getParameter("autoStart");
- if (var1 != null && var2 != null) {
- if (var1.equalsIgnoreCase("false")) {
- var2.setAutoStart(false);
- } else if (var1.equalsIgnoreCase("true")) {
- var2.setAutoStart(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"autoStart\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("balance");
- if (var1 != null && var2 != null) {
- try {
- long var5 = Long.valueOf(var1);
- var2.setBalance(var5);
- } catch (NumberFormatException var12) {
- this.debug("\"" + var1 + "\" is not a valid value for \"balance\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("baseURL");
- if (var1 != null && var2 != null) {
- var2.setBaseURL(var1);
- }
-
- var1 = ((Applet)this).getParameter("defaultFrame");
- if (var1 != null && var2 != null) {
- var2.setDefaultFrame(var1);
- }
-
- var1 = ((Applet)this).getParameter("enableErrorDialogs");
- if (var1 != null && var2 != null) {
- if (var1.equalsIgnoreCase("false")) {
- var2.setEnableErrorDialogs(false);
- } else if (var1.equalsIgnoreCase("true")) {
- var2.setEnableErrorDialogs(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"enableErrorDialogs\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("invokeURLs");
- if (var1 != null && var2 != null) {
- if (var1.equalsIgnoreCase("false")) {
- var2.setInvokeURLs(false);
- } else if (var1.equalsIgnoreCase("true")) {
- var2.setInvokeURLs(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"invokeURLs\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("mute");
- if (var1 != null && var2 != null) {
- if (var1.equalsIgnoreCase("false")) {
- var2.setMute(false);
- } else if (var1.equalsIgnoreCase("true")) {
- var2.setMute(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"mute\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("playCount");
- if (var1 != null && var2 != null) {
- try {
- int var35 = Integer.valueOf(var1);
- var2.setPlayCount((long)var35);
- } catch (Exception var11) {
- this.debug("\"" + var1 + "\" is not a valid value for \"playCount\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("rate");
- if (var1 != null && var2 != null) {
- try {
- double var36 = Double.valueOf(var1);
- var2.setRate(var36);
- } catch (Exception var10) {
- this.debug("\"" + var1 + "\" is not a valid value for \"rate\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("volume");
- if (var1 != null && var2 != null) {
- try {
- int var37 = Integer.valueOf(var1);
- var2.setVolume((long)var37);
- } catch (Exception var9) {
- this.debug("\"" + var1 + "\" is not a valid value for \"volume\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("currentMarker");
- if (var1 != null && var3 != null) {
- try {
- int var38 = Integer.valueOf(var1);
- var3.setCurrentMarker((long)var38);
- } catch (Exception var8) {
- this.debug("\"" + var1 + "\" is not a valid value for \"currentMarker\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("currentPosition");
- if (var1 != null && var3 != null) {
- try {
- double var39 = Double.valueOf(var1);
- var3.setCurrentPosition(var39);
- } catch (Exception var7) {
- this.debug("\"" + var1 + "\" is not a valid value for \"currentPosition\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("captioningID");
- if (var1 != null && var4 != null) {
- var4.setCaptioningID(var1);
- }
-
- var1 = ((Applet)this).getParameter("SAMIFilename");
- if (var1 != null && var4 != null) {
- var4.setSAMIFileName(var1);
- }
-
- var1 = ((Applet)this).getParameter("SAMILang");
- if (var1 != null && var4 != null) {
- var4.setSAMILang(var1);
- }
-
- var1 = ((Applet)this).getParameter("SAMIStyle");
- if (var1 != null && var4 != null) {
- var4.setSAMIStyle(var1);
- }
-
- var1 = ((Applet)this).getParameter("enableContextMenu");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("false")) {
- this.setEnableContextMenu(false);
- } else if (var1.equalsIgnoreCase("true")) {
- this.setEnableContextMenu(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"enableContextMenu\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("enabled");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("false")) {
- this.setEnabled(false);
- } else if (var1.equalsIgnoreCase("true")) {
- this.setEnabled(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"enabled\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("stretchToFit");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("false")) {
- this.setStretchToFit(false);
- } else if (var1.equalsIgnoreCase("true")) {
- this.setStretchToFit(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"stretchToFit\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("windowlessVideo");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("false")) {
- this.setWindowlessVideo(false);
- } else if (var1.equalsIgnoreCase("true")) {
- this.setWindowlessVideo(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"windowlessVideo\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("fullScreen");
- if (var1 != null) {
- if (var1.equalsIgnoreCase("false")) {
- this.setFullScreen(false);
- } else if (var1.equalsIgnoreCase("true")) {
- this.setFullScreen(true);
- } else {
- this.debug("\"" + var1 + "\" is not a valid value for \"fullScreen\" parameter.");
- }
- }
-
- var1 = ((Applet)this).getParameter("uiMode");
- if (var1 != null) {
- this.setUiMode(var1);
- }
-
- var1 = ((Applet)this).getParameter("URL");
- if (var1 != null) {
- this.setURL(var1);
- }
-
- }
-
- public boolean getEnableContextMenu() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getEnableContextMenu() : false;
- }
-
- public void setEnableContextMenu(boolean var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setEnableContextMenu(var1);
- }
-
- }
-
- private native int getPlayer(int var1);
-
- private IWMPPlayer getPlayer() {
- int var1 = this.getPlayer(this.m_hwndTarget);
- if (var1 >= 0) {
- IWMPPlayer var2 = new IWMPPlayer();
- if (var2 != null) {
- var2.m_pIWMPPlayer = var1;
- var2.m_hWnd = this.m_hwndTarget;
- }
-
- return var2;
- } else {
- return null;
- }
- }
-
- public IWMPSettings getSettings() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getSettings() : null;
- }
-
- public void close() {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.close();
- }
-
- }
-
- public IWMPCdromCollection getCdromCollection() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getCdromCollection() : null;
- }
-
- public void openPlayer(String var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.openPlayer(var1);
- }
-
- }
-
- private native int spawnThread(int var1, int var2);
-
- public IWMPControls getControls() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getControls() : null;
- }
-
- public void paint(Graphics var1) {
- }
-
- public boolean getIsRemote() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getIsRemote() : false;
- }
-
- public IWMPDVD getDvd() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getDvd() : null;
- }
-
- public IWMPMedia newMedia(String var1) {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.newMedia(var1) : null;
- }
-
- public String getUiMode() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getUiMode() : null;
- }
-
- public void setUiMode(String var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setUiMode(var1);
- }
-
- }
-
- public String getVersionInfo() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getVersionInfo() : null;
- }
-
- private native int getTargetHWND(int var1);
-
- private int getHWND() {
- DrawingSurfaceInfo var2 = ((DrawingSurface)((Component)this).getPeer()).getDrawingSurfaceInfo();
- var2.lock();
- WDrawingSurfaceInfo var3 = (WDrawingSurfaceInfo)var2;
- int var1 = var3.getHWnd();
- var2.unlock();
- return var1;
- }
-
- public String getURL() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getURL() : null;
- }
-
- public void setURL(String var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setURL(var1);
- }
-
- }
-
- public boolean getEnabled() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getEnabled() : false;
- }
-
- public void setEnabled(boolean var1) {
- if (this.m_IWMPPlayer != null) {
- this.m_IWMPPlayer.setEnabled(var1);
- }
-
- }
-
- public IWMPError getError() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getError() : null;
- }
-
- public IWMPClosedCaption getClosedCaption() {
- return this.m_IWMPPlayer != null ? this.m_IWMPPlayer.getClosedCaption() : null;
- }
- }
-