xpcom/base/nsISupports.idl

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/xpcom/base/nsISupports.idl	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,44 @@
     1.4 +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
     1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.8 +  
     1.9 +/**
    1.10 + * The mother of all xpcom interfaces.
    1.11 + */
    1.12 +
    1.13 +/* In order to get both the right typelib and the right header we force
    1.14 +*  the 'real' output from xpidl to be commented out in the generated header
    1.15 +*  and includes a copy of the original nsISupports.h. This is all just to deal 
    1.16 +*  with the Mac specific ": public __comobject" thing.
    1.17 +*/
    1.18 +
    1.19 +#include "nsrootidl.idl"
    1.20 +
    1.21 +%{C++
    1.22 +/* 
    1.23 + * Start commenting out the C++ versions of the below in the output header
    1.24 + */
    1.25 +#if 0
    1.26 +%}
    1.27 +
    1.28 +[scriptable, uuid(00000000-0000-0000-c000-000000000046)]
    1.29 +interface nsISupports {
    1.30 +  void QueryInterface(in nsIIDRef uuid, 
    1.31 +                      [iid_is(uuid),retval] out nsQIResult result);
    1.32 +  [noscript, notxpcom] nsrefcnt AddRef();
    1.33 +  [noscript, notxpcom] nsrefcnt Release();
    1.34 +};
    1.35 +
    1.36 +%{C++
    1.37 +/* 
    1.38 + * End commenting out the C++ versions of the above in the output header
    1.39 + */
    1.40 +#endif
    1.41 +%}
    1.42 +
    1.43 +
    1.44 +%{C++
    1.45 +#include "nsISupportsBase.h"
    1.46 +#include "nsISupportsUtils.h"
    1.47 +%}

mercurial