Provides information about a specific implementation class
 @status FROZEN
[scriptable, uuid(986c11d0-f340-11d4-9075-0010a4e73d9a)]
interface nsIClassInfo : nsISupports

Constants

 Bitflags for 'flags' attribute.
const PRUint32 SINGLETON = 1

          
const PRUint32 THREADSAFE = 2

          
const PRUint32 MAIN_THREAD_ONLY = 4

          
const PRUint32 DOM_OBJECT = 8

          
const PRUint32 PLUGIN_OBJECT = 16

          
const PRUint32 EAGER_CLASSINFO = 32
 'flags' attribute bitflag: whether objects of this type implement
 nsIContent.
const PRUint32 CONTENT_NODE = 64

          
const PRUint32 RESERVED = 2147483648

Attributes

 A human readable string naming the class, or null.
readonly attribute string classDescription
 A class ID through which an instance of this class can be created
 (or accessed as a service, if |flags & SINGLETON|), or null.
readonly attribute nsCIDPtr classID
 Also a class ID through which an instance of this class can be created
 (or accessed as a service, if |flags & SINGLETON|).  If the class does
 not have a CID, it should return NS_ERROR_NOT_AVAILABLE.  This attribute
 exists so C++ callers can avoid allocating and freeing a CID, as would
 happen if they used classID.
[notxpcom] readonly attribute nsCID classIDNoAlloc
 A contract ID through which an instance of this class can be created
 (or accessed as a service, if |flags & SINGLETON|), or null.
readonly attribute string contractID

          
readonly attribute PRUint32 flags
 Return language type from list in nsIProgrammingLanguage
readonly attribute PRUint32 implementationLanguage

Methods

 Get a language mapping specific helper object that may assist in using
 objects of this class in a specific lanaguage. For instance, if asked
 for the helper for nsIProgrammingLanguage::JAVASCRIPT this might return 
 an object that can be QI'd into the nsIXPCScriptable interface to assist 
 XPConnect in supplying JavaScript specific behavior to callers of the 
 instance object.

 see: nsIProgrammingLanguage.idl

 Should return null if no helper available for given language.
nsISupports getHelperForLanguage(in PRUint32 language)
 Get an ordered list of the interface ids that instances of the class 
 promise to implement. Note that nsISupports is an implicit member 
 of any such list and need not be included. 

 Should set *count = 0 and *array = null and return NS_OK if getting the 
 list is not supported.
void getInterfaces(out PRUint32 count, [array, retval, size_is(count)] out nsIIDPtr array)