Mercurial > projects > dwt-win
annotate dwt/internal/mozilla/nsID.d @ 327:b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
author | John Reimer <terminal.node@gmail.com> |
---|---|
date | Fri, 02 Jan 2009 17:45:10 -0800 |
parents | |
children |
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.nsID; |
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.dwthelper.utils; |
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 align(1) |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
7 struct nsID |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
8 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
9 PRUint32 m0; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
10 PRUint16 m1; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
11 PRUint16 m2; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
12 PRUint8[8] m3; |
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 nsID opCall(String aIDStr) |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
15 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
16 nsID id; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
17 if(aIDStr == null) throw new ParseException(); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
18 int i = 0; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
19 with(id) { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
20 for (; i < 8; i++) m0 = (m0 << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
21 if (aIDStr.charAt (i) != '-') throw new ParseException (); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
22 i++; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
23 for (; i < 13; i++) m1 = cast(short)((m1 << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
24 if (aIDStr.charAt (i) != '-') throw new ParseException (); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
25 i++; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
26 for (; i < 18; i++) m2 = cast(short)((m2 << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
27 if (aIDStr.charAt (i) != '-') throw new ParseException (); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
28 i++; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
29 for (; i < 21; i++) m3[0] = cast(byte)((m3[0] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
30 for (; i < 23; i++) m3[1] = cast(byte)((m3[1] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
31 if (aIDStr.charAt (i) != '-') throw new ParseException (); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
32 i++; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
33 for (; i < 26; i++) m3[2] = cast(byte)((m3[2] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
34 for (; i < 28; i++) m3[3] = cast(byte)((m3[3] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
35 for (; i < 30; i++) m3[4] = cast(byte)((m3[4] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
36 for (; i < 32; i++) m3[5] = cast(byte)((m3[5] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
37 for (; i < 34; i++) m3[6] = cast(byte)((m3[6] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
38 for (; i < 36; i++) m3[7] = cast(byte)((m3[7] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16)); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
39 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
40 return id; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
41 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
42 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
43 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
44 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
45 alias nsID nsCID; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
46 alias nsID nsIID; |