/* * The contents of this file are subject to the Mozilla Public License * Version 1.0 (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. * * Contributors: * 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; };