XPCOM API Reference

组件 

这些组件可以通过XPCOM的组件管理或者服务管理进行访问。

nsCategoryManager

The XPCOM Category Manager.

nsDirectoryService

The XPCOM Directory Service.

nsLocalFile

A component implementing nsILocalFile.

nsObserverService

The XPCOM Observer Service.

nsScriptableInputStream

A component implementing nsIScriptableInputStream.

XPCOM primitive components

These components implement scriptable objects that "box" values of simple XPCOM types. They implement these interfaces: nsISupportsCString, nsISupportsChar,nsISupportsDouble, nsISupportsFloat, nsISupportsID, nsISupportsInterface, nsISupportsPRBool, nsISupportsPRInt16, nsISupportsPRInt32, nsISupportsPRInt64, nsISupportsPRTime,nsISupportsPRUint16, nsISupportsPRUint32, nsISupportsPRUint64, nsISupportsPRUint8, nsISupportsString, and nsISupportsVoid.

函数 

这些函数已分享于XPCOM组件库中。

Core Functions 

NS_InitXPCOM2 

The NS_InitXPCOM2 function initiates use of XPCOM in the calling process.

NS_InitXPCOM3 

The NS_InitXPCOM3 function initiates use of XPCOM in the calling process with support for statically defined XPCOM modules.

NS_ShutdownXPCOM 

The NS_ShutdownXPCOM function terminates use of XPCOM in the calling process.

NS_GetComponentManager 

The NS_GetComponentManager function returns a reference to the XPCOM Component Manager.

NS_GetComponentRegistrar 

The NS_GetComponentRegistrar function returns a reference to the XPCOM Component Registrar.

NS_GetServiceManager 

The NS_GetServiceManager function returns a reference to the XPCOM Service Manager.

NS_GetMemoryManager 

The NS_GetMemoryManager function returns a reference to the XPCOM Memory Manager.

NS_NewLocalFile 

The NS_NewLocalFile function creates an instance of nsILocalFile that provides a platform independent representation of a file path.

NS_NewNativeLocalFile 

The NS_NewNativeLocalFile function creates an instance of nsILocalFile that provides a platform independent representation of a file path. You should avoid using this function if you're not 100% certain that the full file path (not just a leaf) involved is always ASCII.

NS_Alloc 

Allocates a block of memory using the XPCOM Memory Manager.

NS_Realloc 

Reallocates a block of memory using the XPCOM Memory Manager.

NS_Free 

Frees a block of memory using the XPCOM Memory Manager.

字符串型

These are the low-level "string" APIs provided by XPCOM as part of its frozen API. It is often better to use one of the string classes instead of using these functions directly.

NS_CStringContainerInit 

The NS_CStringContainerInit function initializes a nsCStringContainer instance for use as a nsACString.

NS_CStringContainerInit2 

The NS_CStringContainerInit2 function initializes a nsCStringContainer instance for use as a nsACString.

NS_CStringContainerFinish 

The NS_CStringContainerFinish function releases any memory allocated by a nsCStringContainer instance.

NS_CStringGetData 

The NS_CStringGetData function gives the caller read access to the string's internal buffer.

NS_CStringGetMutableData 

The NS_CStringGetDataMutable function gives the caller write access to the string's internal buffer.

NS_CStringSetData 

The NS_CStringSetData function copies data into the string's internal buffer.

NS_CStringSetDataRange 

The NS_CStringSetDataRange function copies data into a section of the string's internal buffer.

NS_CStringCopy 

The NS_CStringCopy function copies the value from one nsACString instance to another.

NS_CStringAppendData 

The NS_CStringAppendData function appends data to the existing value of a nsACString instance.

NS_CStringInsertData 

The NS_CStringInsertData function appends data to the existing value of a nsACString instance.

NS_CStringCutData 

The NS_CStringCutData function removes a section of the string's internal buffer.

NS_CStringCloneData 

The NS_CStringCloneData function returns a null-terminated, heap allocated copy of the string's internal buffer.

NS_StringContainerInit 

The NS_StringContainerInit function initializes a nsStringContainer instance for use as a nsAString.

NS_StringContainerInit2 

...

NS_StringContainerFinish 

The NS_StringContainerFinish function releases any memory allocated by a nsStringContainer instance.

NS_StringGetData 

The NS_StringGetData function gives the caller access to the string's internal buffer.

NS_StringGetMutableData 

...

NS_StringSetData 

The NS_StringSetData function copies data into the string's internal buffer.

NS_StringSetDataRange 

The NS_StringSetDataRange function copies data into a section of the string's internal buffer.

NS_StringCopy 

The NS_StringCopy function copies the value from one nsAString instance to another.

NS_StringAppendData 

The NS_StringAppendData function appends data to the existing value of a nsAString instance.

NS_StringInsertData 

The NS_StringInsertData function appends data to the existing value of a nsACString instance.

NS_StringCutData 

The NS_StringCutData function removes a section of the string's internal buffer.

NS_StringCloneData 

The NS_StringCloneData function returns a null-terminated, heap allocated copy of the string's internal buffer.

NS_CStringToUTF16 

The NS_CStringToUTF16 function converts the value of a nsACString instance to UTF-16 and stores the result in a nsAString instance.

NS_UTF16ToCString  

The NS_UTF16ToCString function converts the value of a nsAString instance from UTF-16 to the specified multi-byte encoding and stores the result in a nsACStringinstance.

Frozen Interfaces 

Core 

nsICategoryManager 

The nsICategoryManager interface provides access to a data structure that holds a list of name-value pairs, called categories, where each value is a list of strings.

nsIClassInfo 

The nsIClassInfo interface provides information about a specific implementation class.

nsIComponentManager 

The nsIComponentManager interface provides methods to access factory objects and instantiate instances of classes.

nsIComponentRegistrar 

The nsIComponentRegistrar interface provides methods to access and modify the XPCOM component registry.

nsIFactory 

The nsIFactory interface allows for the creation of nsISupports derived classes without specifying a concrete class type.

nsIInterfaceRequestor 

The nsIInterfaceRequestor interface defines a generic interface for requesting interfaces that a given object might provide access to.

nsIModule 

The nsIModule interface must be implemented by each XPCOM component. It is the main entry point by which the system accesses an XPCOM component.

nsIMemory 

The nsIMemory interface represents a generic memory allocator.

nsIObserver 

The nsIObserver interface is a generic notification callback interface that is typically used in conjunction with nsIObserverService.

nsIObserverService 

The nsIObserverService interface provides methods to add, remove, notify, and enumerate observers of various notifications.

nsIProgrammingLanguage 

The nsIProgrammingLanguage interface provides an enumeration of programming language identifiers.

nsIProperties 

The nsIProperties interface provides methods to access a map of named XPCOM object values.

nsIServiceManager 

The nsIServiceManager manager interface provides a means to obtain global services in an application.

nsISimpleEnumerator 

The nsISimpleEnumerator interface represents an enumeration of XPCOM objects and provides methods to access elements sequentially.

nsISupports 

All XPCOM interfaces inherit the nsISupports interface.

nsISupportsWeakReference 

The nsISupportsWeakReference interface is a factory interface, which produces appropriate instances of nsIWeakReference.

nsIWeakReference 

The nsIWeakReference interface represents a proxy for an XPCOM object. It allows a consumer to hold an indirect, non-owning reference to an XPCOM object.

文件和目录 

nsIFile 

The nsIFile interface represents a file or directory location in a platform-independent manner.

nsILocalFile 

The nsILocalFile interface represents a file or directory location in a platform-independent manner that is accessible on the local filesystem. It extends nsIFile.

nsIDirectoryService 

The nsIDirectoryService interface provides methods to initialize and configure a directory service instance.

nsIDirectoryServiceProvider 

The nsIDirectoryServiceProvider interface is used by the Directory Service to get file locations.

nsIDirectoryServiceProvider2 

The nsIDirectoryServiceProvider2 interface is used by the Directory Service to get an enumeration of file locations.

流(stream) 

nsIInputStream 

The nsIInputStream interface represents a readable data source.

nsIOutputStream 

The nsIOutputStream interface represents a writable data sink.

nsIScriptableInputStream 

The nsIScriptableInputStream interface provides scriptable access to a nsIInputStream instance.

基本元素(Primitives)

nsISupportsPrimitive 

The nsISupportsPrimitive interface serves as a base interface for all of the nsISupports* family of interfaces.

nsISupportsPRBool 

The nsISupportsPRBool interface provides scriptable access for boolean values.

nsISupportsChar 

The nsISupportsChar interface provides scriptable access for single character values (often used to store an ASCII character).

nsISupportsPRInt16 

The nsISupportsPRInt16 interface provides scriptable access for 16-bit signed integers.

nsISupportsPRInt32 

The nsISupportsPRInt32 interface provides scriptable access for 32-bit signed integers.

nsISupportsPRInt64 

The nsISupportsPRInt64 interface provides scriptable access for 64-bit signed integers.

nsISupportsPRUint16 

The nsISupportsPRUint16 interface provides scriptable access for 16-bit unsigned integers.

nsISupportsPRUint32 

The nsISupportsPRUint32 interface provides scriptable access for 32-bit unsigned integers.

nsISupportsPRUint64 

The nsISupportsPRUint64 interface provides scriptable access for 64-bit unsigned integers.

nsISupportsPRUint8 

The nsISupportsPRUint8 interface provides scriptable access for 8-bit unsigned integers.

nsISupportsDouble 

The nsISupportsDouble interface provides scriptable access for double-precision floating-point values.

nsISupportsFloat 

The nsISupportsFloat interface provides scriptable access for single-precision floating-point values.

nsISupportsPRTime 

The nsISupportsPRTime interface provides scriptable access for PRTime values.

nsISupportsCString 

The nsISupportsCString interface provides scriptable access for ASCII character strings.

nsISupportsString 

The nsISupportsString interface provides scriptable access for Unicode character strings.

nsISupportsVoid 

The nsISupportsVoid interface provides scriptable access for generic pointers. values.

nsISupportsID 

The nsISupportsID interface provides scriptable access for boolean values.

nsISupportsInterfacePointer 

The nsISupportsInterfacePointer interface provides scriptable access for XPCOM objects

XPCOM "粘合" 的类和函数 

These classes and functions are provided to simplify the use of XPCOM from C++. They are not part of the frozen XPCOM API, which means that they may evolve over time. When these classes are used by a component, it may be necessary to link the component against the XPCOM glue library.

核心 

nsCOMPtr 

This utility class simplifies managing XPCOM interface references from C++ code.

nsMemory 

The 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.

nsSupportsWeakReference 

Inherit from this C++ class to add canonical support for nsISupportsWeakReference.

字符串 

nsACString 

The 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 

The nsAString abstract class represents a character string composed of double-byte storage units. This class is typically used to represent Unicode character arrays.

nsEmbedString 

The nsEmbedString concrete class provides a way to construct a nsAString object that allocates null-terminated storage.

nsEmbedCString 

The nsEmbedCString concrete class provides a way to construct a nsACString object that allocates null-terminated storage.

nsString 

...

nsCString 

...

nsDependentString 

...

nsDependentCString 

...

nsDependentSubstring 

...

nsDependentCSubstring 

...

NS_ConvertASCIItoUTF16 

...

NS_ConvertUTF8toUTF16 

...

NS_ConvertUTF16toUTF8 

...

NS_LossyConvertUTF16toASCII 

...

nsLiteralCString 

...

nsLiteralString 

...

getter_Copies 

...

Substring 

...

StringHead 

...

StringTail 

...

EmptyString 

...

EmptyCString 

...

Document Tags and Contributors

Contributors to this page: Meleo, soundbbg
最后编辑者: soundbbg,