annotate org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsISupports.d @ 53:7e78af7adab5

[swt lin]
author Frank Benoit <benoit@tionex.de>
date Fri, 27 Mar 2009 21:29:10 +0100
parents f713da8bc051
children 70388b0e6dad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 module org.eclipse.swt.internal.mozilla.nsISupports;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 import java.lang.all;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 import org.eclipse.swt.internal.mozilla.Common;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 import org.eclipse.swt.internal.mozilla.nsID;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 const char[] NS_ISUPPORTS_IID_STR = "00000000-0000-0000-c000-000000000046";
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 const nsIID NS_ISUPPORTS_IID=
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 { 0x00000000, 0x0000, 0x0000,
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ] };
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
53
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
14 version(D_Version2){
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
15 mixin("alias const(nsIID) cnsIID;");
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
16 mixin("alias const(nsID) cnsID;");
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
17 } else { // D1
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
18 alias nsIID cnsIID;
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
19 alias nsID cnsID;
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
20 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 interface IUnknown
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 {
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 static const char[] IID_STR = NS_ISUPPORTS_IID_STR;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 static const nsIID IID = NS_ISUPPORTS_IID;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 extern(System):
53
7e78af7adab5 [swt lin]
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
27 nsresult QueryInterface( cnsIID* uuid, void **result);
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 nsrefcnt AddRef();
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 nsrefcnt Release();
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 }
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 // WHY WE USE COM's IUnknown for XPCOM:
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 //
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 // The IUnknown interface is special-cased in D and is specifically designed to be
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 // compatible with MS COM. XPCOM's nsISupports interface is the exact equivalent
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 // of IUnknown so we alias it here to take advantage of D's COM support. -JJR
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 alias IUnknown nsISupports;