/* * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Frank * Mitchell. Portions created by Frank Mitchell are * Copyright (C) 1999 Frank Mitchell. All * Rights Reserved. * * Contributor(s): * Frank Mitchell (frank.mitchell@sun.com) */ /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * blah blah blah. */ #include "nsISupports.idl" interface JSIComplex; [object, uuid(57ecad90-ae1a-11d1-b66c-00805f8a2676)] interface JSISample : nsISupports { // basic method void PrintStats(); // attributes attribute long someInt; attribute boolean someBool; readonly attribute long roInt; attribute double someDouble; attribute string someName; readonly attribute string roString; // methods void TakeInt(in long anInt); long GiveInt(); long GiveAndTake(inout long anInt); string TooManyArgs(in short oneInt, in short twoInt, inout long redInt, out short blueInt, in double orNothing, in long long johnSilver, in boolean algebra); string CatStrings(in string str1, in string str2); void AppendString(inout string str1, in string str2); JSIComplex NewComplex(in long aReal, in long anImaginary); JSIComplex AddComplex(in JSIComplex complex1, in JSIComplex complex2); void AddInPlace(inout JSIComplex complex1, in JSIComplex complex2); long AddTwoInts(in long int1, in long int2); }; [object, uuid(57ecad91-ae1a-11d1-b66c-00805f8a2676)] interface JSIComplex : nsISupports { // attributes attribute long real; attribute long imaginary; };