annotate dwt/internal/mozilla/nsISupports.d @ 341:f403c83322c3 default tip

fix: thx torhu
author Frank Benoit <benoit@tionex.de>
date Sun, 08 Nov 2009 20:58:32 +0100
parents b0d7eb5bd76c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
327
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
1 module dwt.internal.mozilla.nsISupports;
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
2
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
3 import dwt.internal.mozilla.Common;
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
4 import dwt.internal.mozilla.nsID;
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
5
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
6 const char[] NS_ISUPPORTS_IID_STR = "00000000-0000-0000-c000-000000000046";
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
7
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
8 const nsIID NS_ISUPPORTS_IID=
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
9 { 0x00000000, 0x0000, 0x0000,
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
10 [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ] };
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
11
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
12 interface IUnknown
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
13 {
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
14 static const char[] IID_STR = NS_ISUPPORTS_IID_STR;
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
15 static const nsIID IID = NS_ISUPPORTS_IID;
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
16
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
17 extern(System):
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
18 nsresult QueryInterface( nsIID* uuid, void **result);
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
19
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
20 nsrefcnt AddRef();
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
21 nsrefcnt Release();
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
22 }
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
23
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
24 // WHY WE USE COM's IUnknown for XPCOM:
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
25 //
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
26 // The IUnknown interface is special-cased in D and is specifically designed to be
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
27 // compatible with MS COM. XPCOM's nsISupports interface is the exact equivalent
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
28 // of IUnknown so we alias it here to take advantage of D's COM support. -JJR
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
29
b0d7eb5bd76c Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff changeset
30 alias IUnknown nsISupports;