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