#include "nsISupports.idl" #include "nsIObserver.idl" #include "nsISimpleEnumerator.idl" #include "nsIDOMElement.idl" #include "nsIXMPPClientSession.idl" #include "nsIXMPPTransport.idl" interface nsIObserver; interface nsISimpleEnumerator; [scriptable, uuid(6dd44497-a4d9-4590-a629-5116a30b54b3)] interface nsIXMPPClientService: nsISupports { void reload(); nsIXMPPClientSession open(in string accountJid, in nsIXMPPTransport transport, in nsIObserver streamObserver); void close(in string accountJid); boolean isUp(in string accountJid); nsIXMPPClientSession getSession(in string accountJid); void send(in string accountJid, in nsIDOMElement element, in nsIObserver anObserver); void addObserver(in nsIObserver anObserver, in string aTopic, in boolean ownsWeak); void removeObserver(in nsIObserver anObserver, in string aTopic); void notifyObservers(in nsISupports aSubject, in string aTopic, in wstring someData); void addFeature(in string discoInfoFeature); void removeFeature(in string discoInfoFeature); };