home *** CD-ROM | disk | FTP | other *** search
/ PCNet 2003 November / PCNET_2003_11_1.iso / toolkit / MPsetupXP.exe / wmpns.jar / WMPNS / EventThread.class (.txt) next >
Encoding:
Java Class File  |  2002-10-15  |  5.7 KB  |  359 lines

  1. package WMPNS;
  2.  
  3. import netscape.javascript.JSObject;
  4.  
  5. class EventThread extends Thread {
  6.    JSObject m_JSOWindow = null;
  7.    WMP m_WMPApplet = null;
  8.    int m_iEventThreadID = 0;
  9.    boolean m_fFireEvents = true;
  10.    int[] m_aValidEvents = new int[50];
  11.    int m_iNumValidEvents = 0;
  12.  
  13.    private native void kill(int var1);
  14.  
  15.    void kill() {
  16.       this.kill(this.m_iEventThreadID);
  17.    }
  18.  
  19.    private native int GetThreadID();
  20.  
  21.    void stringStringStringEvent(long var1, String var3, String var4, String var5) {
  22.       Object[] var6 = new Object[]{var3, var4, var5};
  23.       switch ((int)var1) {
  24.          case 5820:
  25.             this.callEventHandler("MediaCollectionAttributeStringChanged", var6);
  26.          default:
  27.       }
  28.    }
  29.  
  30.    void doubleDoubleEvent(long var1, double var3, double var5) {
  31.       Double var7 = new Double(var3);
  32.       Double var8 = new Double(var5);
  33.       Object[] var9 = new Object[]{var7, var8};
  34.       switch ((int)var1) {
  35.          case 5202:
  36.             this.callEventHandler("PositionChange", var9);
  37.          default:
  38.       }
  39.    }
  40.  
  41.    void longLongStringEvent(long var1, long var3, long var5, String var7) {
  42.       Long var8 = new Long(var3);
  43.       Long var9 = new Long(var5);
  44.       Object[] var10 = new Object[]{var8, var9, var7};
  45.       switch ((int)var1) {
  46.          case 5601:
  47.             this.callEventHandler("Warning", var10);
  48.          default:
  49.       }
  50.    }
  51.  
  52.    void boolEvent(long var1, boolean var3) {
  53.       Boolean var4 = new Boolean(var3);
  54.       Object[] var5 = new Object[]{var4};
  55.       switch ((int)var1) {
  56.          case 5402:
  57.             this.callEventHandler("Buffering", var5);
  58.          default:
  59.       }
  60.    }
  61.  
  62.    void longEvent(long var1, long var3) {
  63.       Long var5 = new Long(var3);
  64.       Object[] var6 = new Object[]{var5};
  65.       switch ((int)var1) {
  66.          case 5001:
  67.             this.callEventHandler("OpenStateChange", var6);
  68.             break;
  69.          case 5101:
  70.             this.callEventHandler("PlayStateChange", var6);
  71.             break;
  72.          case 5102:
  73.             this.callEventHandler("AudioLanguageChange", var6);
  74.             break;
  75.          case 5201:
  76.             this.callEventHandler("EndOfStream", var6);
  77.             break;
  78.          case 5203:
  79.             this.callEventHandler("MarkerHit", var6);
  80.             break;
  81.          case 5204:
  82.             this.callEventHandler("DurationUnitChange", var6);
  83.             break;
  84.          case 5401:
  85.             this.callEventHandler("Disconnect", var6);
  86.             break;
  87.          case 5701:
  88.             this.callEventHandler("CdromMediaChange", var6);
  89.             break;
  90.          case 5804:
  91.             this.callEventHandler("CurrentPlaylistChange", var6);
  92.       }
  93.  
  94.    }
  95.  
  96.    void mediaEvent(long var1, int var3) {
  97.       IWMPMedia var4 = null;
  98.       if (var3 >= 0) {
  99.          var4 = new IWMPMedia();
  100.          if (var4 != null) {
  101.             var4.m_pIWMPMedia = var3;
  102.             var4.m_hWnd = this.m_WMPApplet.m_hwndTarget;
  103.          }
  104.       }
  105.  
  106.       Object[] var5 = new Object[]{var4};
  107.       switch ((int)var1) {
  108.          case 5802:
  109.             this.callEventHandler("MediaChange", var5);
  110.             break;
  111.          case 5806:
  112.             this.callEventHandler("CurrentItemChange", var5);
  113.             break;
  114.          case 5821:
  115.             this.callEventHandler("MediaError", var5);
  116.       }
  117.  
  118.    }
  119.  
  120.    void playlistEvent(long var1, int var3) {
  121.       IWMPPlaylist var4 = null;
  122.       if (var3 >= 0) {
  123.          var4 = new IWMPPlaylist();
  124.          if (var4 != null) {
  125.             var4.m_pIWMPPlaylist = var3;
  126.             var4.m_hWnd = this.m_WMPApplet.m_hwndTarget;
  127.          }
  128.       }
  129.  
  130.       Object[] var5 = new Object[]{var4};
  131.       switch ((int)var1) {
  132.          case 5823:
  133.             this.callEventHandler("OpenPlaylistSwitch", var5);
  134.          default:
  135.       }
  136.    }
  137.  
  138.    private native void CheckEvents();
  139.  
  140.    void voidEvent(long var1) {
  141.       switch ((int)var1) {
  142.          case 5002:
  143.             this.callEventHandler("StatusChange", (Object[])null);
  144.             break;
  145.          case 5403:
  146.             this.callEventHandler("NewStream", (Object[])null);
  147.             break;
  148.          case 5501:
  149.             this.callEventHandler("Error", (Object[])null);
  150.             break;
  151.          case 5807:
  152.             this.callEventHandler("MediaCollectionChange", (Object[])null);
  153.             break;
  154.          case 5810:
  155.             this.callEventHandler("PlaylistCollectionChange", (Object[])null);
  156.       }
  157.  
  158.    }
  159.  
  160.    void stringEvent(long var1, String var3) {
  161.       Object[] var4 = new Object[]{var3};
  162.       switch ((int)var1) {
  163.          case 5803:
  164.             this.callEventHandler("CurrentMediaItemAvailable", var4);
  165.             break;
  166.          case 5805:
  167.             this.callEventHandler("CurrentPlaylistItemAvailable", var4);
  168.             break;
  169.          case 5811:
  170.             this.callEventHandler("PlaylistCollectionPlaylistAdded", var4);
  171.             break;
  172.          case 5812:
  173.             this.callEventHandler("PlaylistCollectionPlaylistRemoved", var4);
  174.             break;
  175.          case 5822:
  176.             this.callEventHandler("DomainChange", var4);
  177.       }
  178.  
  179.    }
  180.  
  181.    void shortEvent(long var1, short var3) {
  182.       Short var4 = new Short(var3);
  183.       Object[] var5 = new Object[]{var4};
  184.       switch ((int)var1) {
  185.          case 6508:
  186.             this.callEventHandler("KeyPress", var5);
  187.          default:
  188.       }
  189.    }
  190.  
  191.    void callEventHandler(String var1, Object[] var2) {
  192.       if (this.m_fFireEvents) {
  193.          String var3 = "On" + this.m_WMPApplet.m_sEventPrefix + var1;
  194.  
  195.          try {
  196.             this.m_JSOWindow.call(var3, var2);
  197.          } catch (Exception var5) {
  198.             System.out.println("Exception caught when firing \"" + var3 + "\" event. " + ((Throwable)var5).toString());
  199.             ((Throwable)var5).printStackTrace();
  200.          }
  201.       }
  202.  
  203.    }
  204.  
  205.    void InitValidEventsArray() {
  206.       this.VerifyAndAddEntryForEvent(5001, "OpenStateChange");
  207.       this.VerifyAndAddEntryForEvent(5002, "StatusChange");
  208.       this.VerifyAndAddEntryForEvent(5101, "PlayStateChange");
  209.       this.VerifyAndAddEntryForEvent(5102, "AudioLanguageChange");
  210.       this.VerifyAndAddEntryForEvent(5201, "EndOfStream");
  211.       this.VerifyAndAddEntryForEvent(5202, "PositionChange");
  212.       this.VerifyAndAddEntryForEvent(5203, "MarkerHit");
  213.       this.VerifyAndAddEntryForEvent(5204, "DurationUnitChange");
  214.       this.VerifyAndAddEntryForEvent(5301, "ScriptCommand");
  215.       this.VerifyAndAddEntryForEvent(5401, "Disconnect");
  216.       this.VerifyAndAddEntryForEvent(5402, "Buffering");
  217.       this.VerifyAndAddEntryForEvent(5403, "NewStream");
  218.       this.VerifyAndAddEntryForEvent(5501, "Error");
  219.       this.VerifyAndAddEntryForEvent(5601, "Warning");
  220.       this.VerifyAndAddEntryForEvent(5701, "CdromMediaChange");
  221.       this.VerifyAndAddEntryForEvent(5801, "PlaylistChange");
  222.       this.VerifyAndAddEntryForEvent(5802, "MediaChange");
  223.       this.VerifyAndAddEntryForEvent(5803, "CurrentMediaItemAvailable");
  224.       this.VerifyAndAddEntryForEvent(5804, "CurrentPlaylistChange");
  225.       this.VerifyAndAddEntryForEvent(5805, "CurrentPlaylistItemAvailable");
  226.       this.VerifyAndAddEntryForEvent(5806, "CurrentItemChange");
  227.       this.VerifyAndAddEntryForEvent(5807, "MediaCollectionChange");
  228.       this.VerifyAndAddEntryForEvent(5808, "MediaCollectionAttributeStringAdded");
  229.       this.VerifyAndAddEntryForEvent(5809, "MediaCollectionAttributeStringRemoved");
  230.       this.VerifyAndAddEntryForEvent(5810, "PlaylistCollectionChange");
  231.       this.VerifyAndAddEntryForEvent(5811, "PlaylistCollectionPlaylistAdded");
  232.       this.VerifyAndAddEntryForEvent(5812, "PlaylistCollectionPlaylistRemoved");
  233.       this.VerifyAndAddEntryForEvent(5818, "PlaylistCollectionPlaylistSetAsDeleted");
  234.       this.VerifyAndAddEntryForEvent(5819, "ModeChange");
  235.       this.VerifyAndAddEntryForEvent(5820, "MediaCollectionAttributeStringChanged");
  236.       this.VerifyAndAddEntryForEvent(5821, "MediaError");
  237.       this.VerifyAndAddEntryForEvent(5822, "DomainChange");
  238.       this.VerifyAndAddEntryForEvent(5823, "OpenPlaylistSwitch");
  239.       this.VerifyAndAddEntryForEvent(6505, "Click");
  240.       this.VerifyAndAddEntryForEvent(6506, "DoubleClick");
  241.       this.VerifyAndAddEntryForEvent(6507, "KeyDown");
  242.       this.VerifyAndAddEntryForEvent(6508, "KeyPress");
  243.       this.VerifyAndAddEntryForEvent(6509, "KeyUp");
  244.       this.VerifyAndAddEntryForEvent(6510, "MouseDown");
  245.       this.VerifyAndAddEntryForEvent(6511, "MouseMove");
  246.       this.VerifyAndAddEntryForEvent(6512, "MouseUp");
  247.    }
  248.  
  249.    public void run() {
  250.       this.m_iEventThreadID = this.GetThreadID();
  251.       this.m_WMPApplet.m_iEventThreadID = this.m_iEventThreadID;
  252.       this.InitValidEventsArray();
  253.       this.CheckEvents();
  254.    }
  255.  
  256.    void playlistLongEvent(long var1, int var3, long var4) {
  257.       IWMPPlaylist var6 = null;
  258.       Long var7 = new Long(var4);
  259.       if (var3 >= 0) {
  260.          var6 = new IWMPPlaylist();
  261.          if (var6 != null) {
  262.             var6.m_pIWMPPlaylist = var3;
  263.             var6.m_hWnd = this.m_WMPApplet.m_hwndTarget;
  264.          }
  265.       }
  266.  
  267.       Object[] var8 = new Object[]{var6, var7};
  268.       switch ((int)var1) {
  269.          case 5801:
  270.             this.callEventHandler("PlaylistChange", var8);
  271.          default:
  272.       }
  273.    }
  274.  
  275.    void stringBoolEvent(long var1, String var3, boolean var4) {
  276.       Boolean var5 = new Boolean(var4);
  277.       Object[] var6 = new Object[]{var3, var5};
  278.       switch ((int)var1) {
  279.          case 5818:
  280.             this.callEventHandler("PlaylistCollectionPlaylistSetAsDeleted", var6);
  281.             break;
  282.          case 5819:
  283.             this.callEventHandler("ModeChange", var6);
  284.       }
  285.  
  286.    }
  287.  
  288.    void stringStringEvent(long var1, String var3, String var4) {
  289.       Object[] var5 = new Object[]{var3, var4};
  290.       switch ((int)var1) {
  291.          case 5301:
  292.             this.callEventHandler("ScriptCommand", var5);
  293.             break;
  294.          case 5808:
  295.             this.callEventHandler("MediaCollectionAttributeStringAdded", var5);
  296.             break;
  297.          case 5809:
  298.             this.callEventHandler("MediaCollectionAttributeStringRemoved", var5);
  299.       }
  300.  
  301.    }
  302.  
  303.    void shortShortLongLongEvent(long var1, short var3, short var4, long var5, long var7) {
  304.       Short var9 = new Short(var3);
  305.       Short var10 = new Short(var4);
  306.       Long var11 = new Long(var5);
  307.       Long var12 = new Long(var7);
  308.       Object[] var13 = new Object[]{var9, var10, var11, var12};
  309.       switch ((int)var1) {
  310.          case 6505:
  311.             this.callEventHandler("Click", var13);
  312.             break;
  313.          case 6506:
  314.             this.callEventHandler("DoubleClick", var13);
  315.          case 6507:
  316.          case 6508:
  317.          case 6509:
  318.          default:
  319.             break;
  320.          case 6510:
  321.             this.callEventHandler("MouseDown", var13);
  322.             break;
  323.          case 6511:
  324.             this.callEventHandler("MouseMove", var13);
  325.             break;
  326.          case 6512:
  327.             this.callEventHandler("MouseUp", var13);
  328.       }
  329.  
  330.    }
  331.  
  332.    void shortShortEvent(long var1, short var3, short var4) {
  333.       Short var5 = new Short(var3);
  334.       Short var6 = new Short(var4);
  335.       Object[] var7 = new Object[]{var5, var6};
  336.       switch ((int)var1) {
  337.          case 6507:
  338.             this.callEventHandler("KeyDown", var7);
  339.          case 6508:
  340.          default:
  341.             break;
  342.          case 6509:
  343.             this.callEventHandler("KeyUp", var7);
  344.       }
  345.  
  346.    }
  347.  
  348.    void VerifyAndAddEntryForEvent(int var1, String var2) {
  349.       try {
  350.          String var3 = this.m_JSOWindow.getMember("On" + this.m_WMPApplet.m_sEventPrefix + var2).toString();
  351.          if (var3 != null && !var3.equalsIgnoreCase("undefined")) {
  352.             this.m_aValidEvents[this.m_iNumValidEvents++] = var1;
  353.          }
  354.       } catch (Exception var4) {
  355.       }
  356.  
  357.    }
  358. }
  359.