#include "nsISupports.idl" [scriptable,uuid(75d2225d-0a67-4dbc-91de-78319594cce8)] interface testCallback : nsISupports { void call(); }; [scriptable,uuid(1afbcf6a-e23f-4e12-b191-4c0a76cd9cec)] interface test : nsISupports { void say(in string sayIt); void shout(in string shoutIt); void poke(in string with); PRInt32 add(in PRInt32 a, in PRInt32 b); string peek(); void callback(in testCallback cb); attribute PRInt32 intProp; readonly attribute PRInt32 roIntProp; }; [scriptable,uuid(5a1f21a2-8aa3-4147-a808-1e1a422dcb76)] interface testString : nsISupports { void say(in string sayIt); }; [scriptable,uuid(5a1f21a2-8aa3-4147-a808-1e1a422dcb77)] interface testInt : nsISupports { void add(in PRInt32 a, in PRInt32 b); };