This interface provides methods to add, remove, notify, and enumerate observers of various notifications.
Inherits from:
nsISupports
Last changed in Gecko 0.9.6 The XPCOM nsObserverService
implements this interface to provide global notifications for a variety of subsystems.
Implemented by @mozilla.org/observer-service;1
as a service:
var observerService = Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService);
Method overview
void addObserver( in nsIObserver anObserver, in string aTopic, in boolean ownsWeak); |
nsISimpleEnumerator enumerateObservers( in string aTopic ); |
void notifyObservers( in nsISupports aSubject, in string aTopic, in wstring someData ); |
void removeObserver( in nsIObserver anObserver, in string aTopic ); |
Methods
addObserver()
Registers a given listener for a notifications regarding the specified topic. See nsIObserver
for a JavaScript example.
void addObserver( in nsIObserver anObserver, in string aTopic, in boolean ownsWeak );
Parameters
-
anObserver
-
The
nsIObserver
object which will receive notifications. -
aTopic
- The notification topic or subject.
-
ownsWeak
-
If set to
false
, thensIObserverService
will hold a strong reference toanObserver
. If set totrue
andanObserver
supports thensISupportsWeakReference
interface, a weak reference will be held. Otherwise an error will be returned. (In most cases, you should usefalse
.)
enumerateObservers()
Called to enumerate all observers registered for a particular topic.
nsISimpleEnumerator enumerateObservers( in string aTopic );
Parameters
-
aTopic
- The notification topic or subject.
Return value
Returns an enumeration of all registered listeners. See nsISimpleEnumerator
.
notifyObservers()
This method is called to notify all observers for a particular topic. See Example.
void notifyObservers( in nsISupports aSubject, in string aTopic, in wstring someData );
Parameters
-
aSubject
-
A notification specific interface pointer. This usually corresponds to the source of the notification, but could be defined differently depending on the notification topic and may even be
null
. -
aTopic
-
The notification topic. This string-valued key uniquely identifies the notification. This parameter must not be
null
. -
someData
-
A notification specific string value. The meaning of this parameter is dependent on the topic. It may be
null
.
removeObserver()
This method is called to unregister an observer for a particular topic.
void removeObserver( in nsIObserver anObserver, in string aTopic );
Parameters
-
anObserver
-
The
nsIObserver
instance to remove. -
aTopic
-
The notification topic or subject. This string-valued key uniquely identifies the notification. This parameter must not be
null
.
Example
This notifies all nsIObserver
s watching the "myTopicID" topic with an additional data parameter.
Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService) .notifyObservers(null, "myTopicID", "someAdditionalInformationPassedAs'Data'Parameter");
See also
nsObserverService
- Observer Notifications provides an overview of observers and a list of built-in notifications fired by Mozilla.
- Usage examples are provided in the
nsIObserver
documentation.
Document Tags and Contributors
Tags:
Contributors to this page:
Sheppy,
Stevie-O,
madarche,
trevorh,
MatrixFrog,
Nickolay,
Lduivenbode,
Kohei,
Wjjohnst,
MarkFinkle,
Np,
Ted_Mielczarek,
Pmash,
Dria
Last updated by:
Sheppy,