Mercurial > projects > dwt-mac
view dwt/internal/mozilla/nsISupports.d @ 156:969e7de37c3d default tip
Fixes to get dwt to work with dmd and ldc
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Wed, 08 Jul 2009 21:56:44 +0200 |
parents | 535243e6d16a |
children |
line wrap: on
line source
module dwt.internal.mozilla.nsISupports; import dwt.internal.mozilla.Common; import dwt.internal.mozilla.nsID; const char[] NS_ISUPPORTS_IID_STR = "00000000-0000-0000-c000-000000000046"; const nsIID NS_ISUPPORTS_IID= { 0x00000000, 0x0000, 0x0000, [ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ] }; interface IUnknown { static const char[] IID_STR = NS_ISUPPORTS_IID_STR; static /*const*/ nsIID IID = NS_ISUPPORTS_IID; // const causes bug in ldc TODO extern(System): //causes assert in ldc TODO nsresult QueryInterface( nsIID* uuid, void **result); nsrefcnt AddRef(); nsrefcnt Release(); } // WHY WE USE COM's IUnknown for XPCOM: // // The IUnknown interface is special-cased in D and is specifically designed to be // compatible with MS COM. XPCOM's nsISupports interface is the exact equivalent // of IUnknown so we alias it here to take advantage of D's COM support. -JJR alias IUnknown nsISupports;