These "glue" classes are provided to make it easier to use XPCOM from C++ code. When these classes are used by a component, you may need to link the component against the XPCOM glue library.
NS_OVERRIDE
is a macro which allows C++ code in Mozilla to specify that a method is intended to override a base class method. If there is no base class method with the same signature, a compiler with static-checking enabled will fail to compile.nsACString
abstract class represents a character string composed of single-byte storage units. This class is typically used to represent ASCII or UTF-8 character arrays.nsAString
abstract class represents a character string composed of double-byte storage units. This class is typically used to represent Unicode character arrays.nsCStringEncoding
enumeration describes the set of character encodings understood by the NS_CStringToUTF16
and NS_UTF16ToCString
functions.nsEmbedCString
concrete class provides a way to construct a nsACString
object that allocates null-terminated storage.nsEmbedString
concrete class provides a way to construct a nsAString
object that allocates null-terminated storage.nsMemory
class provides static helper routines to manage memory. These routines allow easy access to XPCOM's global nsIMemory
implementation without having to go through the service manager to get it.nsISupportsWeakReference
.