/* jband - 04/03/99 - */ #include "nsISupports.idl" // forward declaration interface nsIDeclaredButNotIncluded; [ scriptable, namespace(com.netscape.widget), uuid(a2be35b0-ed1d-11d2-baa0-00805f8a5dd7) ] interface nsISomeInterface : nsISupports { attribute short Prop1; readonly attribute short Prop2; string GetAnswer(); void ExplicitRetVal(in string question, [retval] out string answer); void ManyOutParam(out short a1, out short a2, out short a3); const short option0 = -5; const short option1 = 0; const short option2 = 101; short SetSomethingAndReturnPrev(in short newVal); // many in and out types... void InOutManyTypes(inout octet p1, inout short p2, inout long p3, inout long long p4, inout octet p5, inout unsigned short p6, inout unsigned long p7, inout unsigned long long p8, inout float p9, inout double p10, inout boolean p11, inout char p12, inout wchar p13, inout string p14, inout wstring p15); // using types from nsrootidl.idl PRInt32 TypedefedTypes(in PRUint8 p1, in PRUint16 p2, in PRUint32 p3, in PRUint64 p4, in PRInt16 p5, in PRInt32 p6, in PRInt64 p7); void NativeTypes(in voidStar p1, in voidRef p2, in nsIDRef p3, in nsIIDRef p4, in nsCIDRef p5, in nsIDPtr p6, in nsIIDPtr p7, in nsCIDPtr p8); // method that should not be accessed by JavaScript [noscript] void ElectrocuteUser(); // QueryInterface-like method using iid_is void GetInterface(in nsIIDRef uuid, [retval, iid_is(uuid)] out voidStar result); // if you really really need to not return an nsresult [notxpcom] PRUint32 FixThisStupidMethod(); }; // included in C++ headers, but ignored otherwise... %{C++ #include "foo.h" #include "bar.h" %}