mozilla
Your Search Results

    nsIObserverService

    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, the nsIObserverService will hold a strong reference to anObserver. If set to true and anObserver supports the nsISupportsWeakReference interface, a weak reference will be held. Otherwise an error will be returned. (In most cases, you should use false.)

    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 nsIObservers 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

    Document Tags and Contributors

    Last updated by: Sheppy,