IDL Author's Guide - Generated Headers
/* starting interface nsIFoo */ class nsIFoo { public: };Interface parent declaration
/* starting interface nsIFoo */ class nsIFoo : public nsIParent { public: };Interfaces with IIDs
/* starting interface nsIFoo */ /* {00000000-0000-0000-c000-000000000046} */ #define NS_IFOO_IID_STR "00000000-0000-0000-c000-000000000046" #define NS_IFOO_IID \ {0x00000000, 0x0000, 0x0000, \ { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 }} class nsIFoo : public nsIParent { public: static const nsIID& IID() { static nsIID iid = NS_IFOO_IID; return iid; } };Forward interface declarations
class nsIForward; /* forward decl */Method and attribute
/* starting interface nsIFoo */ class nsIFoo { public: /* attribute long attr; */ NS_IMETHOD GetAttr(PRInt32 *aAttr) = 0; NS_IMETHOD SetAttr(PRInt32 aAttr) = 0; /* void fun (); */ NS_IMETHOD Fun() = 0; };Method types
/* starting interface nsIStringStuff */ class nsIStringStuff { public: /* void findStringLength (in string str, out long l); */ NS_IMETHOD FindStringLength(char *str, PRInt32 *l) = 0; /* void concatenateStrings (in string str1, in string str2, out string result); */ NS_IMETHOD ConcatenateStrings(char *str1, char *str2, char **result) = 0; /* void replaceChar (inout string str, in char from, in char to, in boolean foldCase); */ NS_IMETHOD ReplaceChar(char **str, char from, char to, PRBool foldCase) = 0; };Non-void return types
/* starting interface nsINonVoidReturn */ class nsINonVoidReturn { public: /* string gimmeString (in string str, in long count); */ NS_IMETHOD GimmeString(char *str, PRInt32 count, char **_retval) = 0; /* long gimmeLong (in boolean prime); */ NS_IMETHOD GimmeLong(PRBool prime, PRInt32 *_retval) = 0; };readonly attributes
/* starting interface nsIThing */ class nsIThing { public: /* readonly attribute string lookButDontTouch; */ NS_IMETHOD GetLookButDontTouch(char * *aLookButDontTouch) = 0; };
Mike Shaver Last modified: Tue Oct 5 15:33:12 PDT 1999