#include "nsISupports.idl"

[scriptable, uuid(89eb8f10-c211-11d3-ad2a-005004159574)]
interface nsIRPCTestComb : nsISupports
{

    void testComb1(in boolean bool, out char c); 
    void testComb2(in boolean bool, inout string str);  
    void testComb3(out char c, inout string str);
    void testComb4(inout string str, in boolean bool, out char c); 
    void testComb5(in short s, out char c);
    void testComb6(in boolean bool, out short s); 
    void testComb7(in boolean bool, inout short s); 
    void testComb8(in boolean bool, in short s);
    void testComb9(in boolean bool, in char c);
    void testComb10(in boolean bool, out string str);
    void testComb11(in boolean bool, inout char c);
    void testComb12(in boolean bool, out long l);
    void testComb13(in boolean bool, inout long l);
    void testComb14(in boolean bool, in long l);
    void testComb15(in boolean bool, out double d);
    void testComb16(in boolean bool, inout double d);
    void testComb17(in boolean bool, inout unsigned short us);
    void testComb18(in boolean bool, out unsigned short us);
    void testComb19(in boolean bool, out octet o);
    void testComb20(in boolean bool, inout octet o);
    void testComb21(in boolean bool, in octet o);
    void testComb22(in boolean bool, in boolean bool2);
    void testComb23(in boolean bool, inout boolean bool2);
    void testComb24(in boolean bool, out boolean bool2);
    void testComb25(out boolean bool, out char c); 
    void testComb26(inout boolean bool, out char c); 
    void testComb27(in boolean bool, out wchar wc); 
 
    void testComb30(in string s1, out string s2);
    void testComb31(out octet o, out unsigned short us);
    void testComb32(out octet o, out long l);
    void testComb33(out long l, out unsigned short us);

//    void testComb36(inout boolean bBool, inout char cChar, inout octet nByte,
//                    inout short nShort, inout unsigned short nUShort,
//                    inout long nLong, inout unsigned long nULong,
//                    inout long long nHyper, inout unsigned long long nUHyper,
//                    inout float fFloat, inout double fDouble,
//                    inout wstring aString);

};
