/* * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/mozilla/xpcom/ds/nsIObserver.idl */ #ifndef __gen_nsIObserver_h__ #define __gen_nsIObserver_h__ #ifndef __gen_nsISupports_h__ #include "nsISupports.h" #endif /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif /* starting interface: nsIObserver */ #define NS_IOBSERVER_IID_STR "db242e01-e4d9-11d2-9dde-000064657374" #define NS_IOBSERVER_IID \ {0xdb242e01, 0xe4d9, 0x11d2, \ { 0x9d, 0xde, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 }} /** * This interface is implemented by an object that wants * to observe an event corresponding to a topic. * * @status FROZEN */ class NS_NO_VTABLE nsIObserver : public nsISupports { public: NS_DEFINE_STATIC_IID_ACCESSOR(NS_IOBSERVER_IID) /** * Observe will be called when there is a notification for the * topic |aTopic|. This assumes that the object implementing * this interface has been registered with an observer service * such as the nsIObserverService. * * If you expect multiple topics/subjects, the impl is * responsible for filtering. * * You should not modify, add, remove, or enumerate * notifications in the implemention of observe. * * @param aSubject : Notification specific interface pointer. * @param aTopic : The notification topic or subject. * @param aData : Notification specific wide string. * subject event. */ /* void observe (in nsISupports aSubject, in string aTopic, in wstring aData); */ NS_IMETHOD Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSIOBSERVER \ NS_IMETHOD Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSIOBSERVER(_to) \ NS_IMETHOD Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) { return _to Observe(aSubject, aTopic, aData); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSIOBSERVER(_to) \ NS_IMETHOD Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->Observe(aSubject, aTopic, aData); } #if 0 /* Use the code below as a template for the implementation class for this interface. */ /* Header file */ class nsObserver : public nsIObserver { public: NS_DECL_ISUPPORTS NS_DECL_NSIOBSERVER nsObserver(); private: ~nsObserver(); protected: /* additional members */ }; /* Implementation file */ NS_IMPL_ISUPPORTS1(nsObserver, nsIObserver) nsObserver::nsObserver() { /* member initializers and constructor code */ } nsObserver::~nsObserver() { /* destructor code */ } /* void observe (in nsISupports aSubject, in string aTopic, in wstring aData); */ NS_IMETHODIMP nsObserver::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) { return NS_ERROR_NOT_IMPLEMENTED; } /* End of implementation class template. */ #endif #endif /* __gen_nsIObserver_h__ */