Public Member Functions | Public Attributes

nsIClassInfo Interface Reference

Provides information about a specific implementation class. More...

import "nsIClassInfo.idl";

Inheritance diagram for nsIClassInfo:

List of all members.

Public Member Functions

void getInterfaces (out PRUint32 count,[array, size_is(count), retval] out nsIIDPtr array)
 Get an ordered list of the interface ids that instances of the class promise to implement.
nsISupports getHelperForLanguage (in PRUint32 language)
 Get a language mapping specific helper object that may assist in using objects of this class in a specific lanaguage.

Public Attributes

readonly attribute string contractID
 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 classDescription
 A human readable string naming the class, or null.
readonly attribute nsCIDPtr classID
 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 PRUint32 implementationLanguage
 Return language type from list in nsIProgrammingLanguage.
const PRUint32 SINGLETON = 1 << 0
 Bitflags for 'flags' attribute.
const PRUint32 THREADSAFE = 1 << 1
const PRUint32 MAIN_THREAD_ONLY = 1 << 2
const PRUint32 DOM_OBJECT = 1 << 3
const PRUint32 PLUGIN_OBJECT = 1 << 4
const PRUint32 EAGER_CLASSINFO = 1 << 5
const PRUint32 CONTENT_NODE = 1 << 6
 'flags' attribute bitflag: whether objects of this type implement nsIContent.
const PRUint32 RESERVED = 1 << 31
readonly attribute PRUint32 flags
readonly attribute nsCID classIDNoAlloc
 Also a class ID through which an instance of this class can be created (or accessed as a service, if |flags & SINGLETON|).

Detailed Description

Provides information about a specific implementation class.

Status:
FROZEN

Member Function Documentation

nsISupports nsIClassInfo::getHelperForLanguage ( in PRUint32  language  ) 

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.

void nsIClassInfo::getInterfaces ( out PRUint32  count,
[array, size_is(count), retval] out nsIIDPtr  array 
)

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.


Member Data Documentation

readonly attribute string nsIClassInfo::classDescription

A human readable string naming the class, or null.

readonly attribute nsCIDPtr nsIClassInfo::classID

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 nsCID nsIClassInfo::classIDNoAlloc

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.

const PRUint32 nsIClassInfo::CONTENT_NODE = 1 << 6

'flags' attribute bitflag: whether objects of this type implement nsIContent.

readonly attribute string nsIClassInfo::contractID

A contract ID through which an instance of this class can be created (or accessed as a service, if |flags & SINGLETON|), or null.

const PRUint32 nsIClassInfo::DOM_OBJECT = 1 << 3
const PRUint32 nsIClassInfo::EAGER_CLASSINFO = 1 << 5
readonly attribute PRUint32 nsIClassInfo::flags
readonly attribute PRUint32 nsIClassInfo::implementationLanguage

Return language type from list in nsIProgrammingLanguage.

const PRUint32 nsIClassInfo::MAIN_THREAD_ONLY = 1 << 2
const PRUint32 nsIClassInfo::PLUGIN_OBJECT = 1 << 4
const PRUint32 nsIClassInfo::RESERVED = 1 << 31
const PRUint32 nsIClassInfo::SINGLETON = 1 << 0

Bitflags for 'flags' attribute.

const PRUint32 nsIClassInfo::THREADSAFE = 1 << 1

The documentation for this interface was generated from the following file: