1 module org.eclipse.swt.internal.mozilla.nsISupports; 2 3 import java.lang.all; 4 5 import org.eclipse.swt.internal.mozilla.Common; 6 import org.eclipse.swt.internal.mozilla.nsID; 7 8 const char[] NS_ISUPPORTS_IID_STR = "00000000-0000-0000-c000-000000000046"; 9 10 const nsIID NS_ISUPPORTS_IID= 11 { 0x00000000, 0x0000, 0x0000, 12 [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ] }; 13 14 interface IUnknown 15 { 16 static const char[] IID_STR = NS_ISUPPORTS_IID_STR; 17 static const nsIID IID = NS_ISUPPORTS_IID; 18 19 extern(System): 20 nsresult QueryInterface( in nsIID* uuid, void **result); 21 22 nsrefcnt AddRef(); 23 nsrefcnt Release(); 24 } 25 26 // WHY WE USE COM's IUnknown for XPCOM: 27 // 28 // The IUnknown interface is special-cased in D and is specifically designed to be 29 // compatible with MS COM. XPCOM's nsISupports interface is the exact equivalent 30 // of IUnknown so we alias it here to take advantage of D's COM support. -JJR 31 32 alias IUnknown nsISupports;