#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);
};
