||A generic factory which uses a constructor function to create instances.
This class is intended for use by the component manager and the generic
||from private window
||This selector allows components to be marked so that they're only loaded
into certain kinds of processes. Selectors can be combined.
||This is a helper class that caches services that are registered in a certain
category. The intended usage is that a service stores a variable of type
nsCategoryCache<nsIFoo> in a member variable, where nsIFoo is the interface
that these services should implement. The constructor of this class should
then get the name of the category.
contains 0 or more 1-1 mappings of string to Category
each Category contains 0 or more 1-1 mappings of string keys to string values
In other words, the CategoryDatabase is a tree, whose root is a hashtable.
Internal nodes (or Categories) are hashtables. Leaf nodes are strings.
The leaf strings are allocated in an arena, because we assume they're not
going to change much ;)
||A wrapper simple wrapper class, which can hold either a dynamic
nsFactoryEntry instance, or a static StaticModule entry, and transparently
forwards method calls to the wrapped object.
This allows the same code to work with either static or dynamic modules
without caring about the difference.
||do_GetClassObject can be used to improve performance of callers
that call |CreateInstance| many times. They can cache the factory
and call do_CreateInstance or CallCreateInstance with the cached
factory rather than having the component manager retrieve it every
||Provides information about a specific implementation class. If you want
your class to implement nsIClassInfo, see nsIClassInfoImpl.h for
instructions--you most likely do not want to inherit from nsIClassInfo.
||The nsIComponentManager interface.
||The nsIComponentRegistrar interface.
||A class factory allows the creation of nsISupports derived
components without specifying a concrete base class.
||The nsIServiceManager manager interface provides a means to obtain
global services in an application. The service manager depends on the
repository to find and instantiate factories to obtain services.
Users of the service manager must first obtain a pointer to the global
service manager by calling NS_GetServiceManager. After that,
they can request specific services by calling GetService. When they are
finished they can NS_RELEASE() the service as usual.
A user of a service may keep references to particular services indefinitely
and only must call Release when it shuts down.
||Represents a string entry in the static string table. Can be converted to a
nsCString using GetString() in StaticComponents.cpp.
This is a struct rather than a pure offset primarily for the purposes of type
safety, but also so that it can easily be extended to include a static length
in the future, if efficiency concerns warrant it.