/* */ package NET.worlds.console; /* */ /* */ import java.io.IOException; /* */ import java.io.PrintStream; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class IUnknown /* */ { /* 28 */ protected int _pInterface = 0; /* 29 */ protected int _refs = 0; /* */ /* */ /* */ /* */ private static final String IID_IUnknown = "{00000000-0000-0000-c000-000000000046}"; /* */ /* */ /* */ /* */ /* */ public IUnknown() /* */ throws IOException /* */ {} /* */ /* */ /* */ /* */ protected synchronized void init(int pInterface) /* */ throws IOException /* */ { /* 47 */ assert (pInterface != 0); /* */ /* */ /* */ /* */ /* */ /* */ /* 54 */ ActiveX.init(this); /* */ /* */ /* */ /* 58 */ this._pInterface = pInterface; /* */ /* */ /* */ /* */ /* */ /* 64 */ this._refs = 1; /* */ } /* */ /* */ /* */ /* */ public IUnknown(String svrID) /* */ throws IOException /* */ { /* 72 */ if ((ActiveX.getDebugLevel() & 0x2) > 0) { /* 73 */ System.out.println(this + ": constructor: svrID = " + svrID); /* */ } /* 75 */ ActiveX.init(this); /* */ try /* */ { /* */ try /* */ { /* 80 */ this._pInterface = ActiveX.getClassFClsID(svrID, "{00000000-0000-0000-c000-000000000046}"); /* 81 */ this._refs += 1; /* */ } catch (IOException e) { /* 83 */ this._pInterface = ActiveX.getClassFProgID(svrID, "{00000000-0000-0000-c000-000000000046}"); /* 84 */ this._refs += 1; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 95 */ if ((ActiveX.getDebugLevel() & 0x2) <= 0) { /* */ return; /* */ } /* */ } /* */ catch (IOException e) /* */ { /* 91 */ ActiveX.uninit(this); /* 92 */ throw e; /* */ } /* */ /* */ /* 96 */ System.out.println("IUnknown: constructed " + this); /* */ } /* */ /* */ public IUnknown(String svrID, String intfID) /* */ throws IOException /* */ { /* 102 */ if ((ActiveX.getDebugLevel() & 0x2) > 0) { /* 103 */ System.out.println(this + ": constructor: svrID = " + svrID + /* 104 */ ", intfID = " + intfID); /* */ } /* 106 */ init(svrID, intfID); /* */ /* 108 */ if ((ActiveX.getDebugLevel() & 0x2) > 0) { /* 109 */ System.out.println("IUnknown: constructed " + this); /* */ } /* */ } /* */ /* */ protected synchronized void init(String svrID, String intfID) throws IOException /* */ { /* 115 */ ActiveX.init(this); /* */ try /* */ { /* */ try /* */ { /* 120 */ this._pInterface = ActiveX.getClassFClsID(svrID, intfID); /* 121 */ this._refs += 1; /* */ } catch (IOException e) { /* 123 */ this._pInterface = ActiveX.getClassFProgID(svrID, intfID); /* 124 */ this._refs += 1; /* */ } /* */ return; /* */ } /* */ catch (IOException e) { /* 129 */ ActiveX.uninit(this); /* 130 */ throw e; /* */ } /* */ } /* */ /* */ public IUnknown(IUnknown parent, String intfID) /* */ throws IOException, OLEInvalidObjectException /* */ { /* 137 */ if ((ActiveX.getDebugLevel() & 0x2) > 0) { /* 138 */ System.out.println(this + ": constructor: parent = " + parent + /* 139 */ ", intfID = " + intfID); /* */ } /* 141 */ init(parent, intfID); /* */ /* 143 */ if ((ActiveX.getDebugLevel() & 0x2) > 0) { /* 144 */ System.out.println("IUnknown: constructed " + this); /* */ } /* */ } /* */ /* */ protected synchronized void init(IUnknown parent, String intfID) throws IOException, OLEInvalidObjectException /* */ { /* 150 */ assert (parent != null); /* 151 */ ActiveX.init(this); /* */ try { /* 153 */ this._pInterface = parent.QueryInterface(intfID); /* 154 */ this._refs = 1; /* */ } /* */ catch (IOException e) { /* 157 */ ActiveX.uninit(this); /* 158 */ throw e; /* */ } catch (OLEInvalidObjectException e) { /* 160 */ ActiveX.uninit(this); /* 161 */ throw e; /* */ } /* */ } /* */ /* */ public synchronized void Release() throws OLEInvalidObjectException /* */ { /* 167 */ if ((ActiveX.getDebugLevel() & 0x4) > 0) { /* 168 */ System.out.println(this + ": Releasing"); /* */ } /* 170 */ if (this._pInterface == 0) /* 171 */ throw new OLEInvalidObjectException(); /* 172 */ if ((this._pInterface != 0) && (this._refs > 0)) /* 173 */ true_Release(); /* 174 */ this._refs -= 1; /* 175 */ if (this._refs == 0) /* */ { /* */ /* */ /* 179 */ this._pInterface = 0; /* 180 */ ActiveX.uninit(this); /* */ } /* */ } /* */ /* */ public void finalize() /* */ { /* 186 */ if (this._pInterface != 0) /* */ { /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 195 */ while (this._refs > 0) { /* */ try { /* 197 */ Release(); /* */ } catch (OLEInvalidObjectException e) { /* 199 */ System.out.println("DEBUG: " + this); /* 200 */ if (!$assertionsDisabled) throw new AssertionError(); /* */ } /* */ } /* */ } /* */ } /* */ /* */ public synchronized void AddRef() throws OLEInvalidObjectException /* */ { /* 208 */ if ((ActiveX.getDebugLevel() & 0x4) > 0) { /* 209 */ System.out.println(this + ": AddingRef"); /* */ } /* 211 */ if (this._pInterface == 0) /* 212 */ throw new OLEInvalidObjectException(); /* 213 */ this._refs += 1; /* 214 */ true_AddRef(); /* */ } /* */ /* */ public native void true_AddRef(); /* */ /* */ public native int QueryInterface(String paramString) throws IOException, OLEInvalidObjectException; /* */ /* */ public native void true_Release() throws OLEInvalidObjectException; /* */ /* */ protected native int getPtr() throws OLEInvalidObjectException; /* */ /* */ public String internalData() /* */ { /* 227 */ return "_pInterface=" + this._pInterface + ", _refs=" + this._refs; /* */ } /* */ /* */ public String toString() /* */ { /* 232 */ return "IUnknown(" + internalData() + ")"; /* */ } /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\console\IUnknown.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */