I recently added three new string types to XPIDL to fix http://bugzilla.mozilla.org/show_bug.cgi?id=84186:
AString (a 2 byte per character unicode string that does not enforce encoding) ACString (a 1 byte per character ASCII string) AUTF8String (a 1/2/3 byte per character UTF8 string) Starting from today's builds of XPIDL, you can use these string types in your IDL files. Because of these changes XPConnect's type library version number has been revved up to 1.2. To allow for backwards compatibility, a command line flag has been added to xptlink and xpidl to generate a specific version of a type library. Currently, the only version allowed is 1.1, the version of the type library immediately before this change was made. So, if you type xpidl -t 1.1 <the usual other cmd line arguments> XPIDL will make sure that the input IDL file does not contain constructs that were added after version 1.1. If newer constructs are found, XPIDL will abort and show an appropriate error message. Similarly, if you type xptlink -t 1.1 <the usual other cmd line arguments> XPTLink will check that all the type libraries it links together are version 1.1 or older. If it finds type libraries newer than 1.1, it will abort and display an error message. CCing jband and jag in case they want to add something here. Nisheeth --
