#include "nsISupports.idl" interface nsIObserver; interface nsIDOMDocument; [scriptable, uuid(9fe9ce06-be31-41a9-84c7-342eb9d96d42)] interface sbIAudioscrobblerService : nsISupports { const unsigned short STATUS_NOCREDENTIALS = 0; const unsigned short STATUS_READY = 1; const unsigned short STATUS_BADPASS = 2; void addObserver(in nsIObserver aObserver); void removeObserver(in nsIObserver aObserver); nsIDOMDocument getUserFeedData(in AString aName); AString hashPassword(in AString aPassword); }; %{C++ // {bafaaa31-9811-4bc6-9aec-29589152ad18} #define AUDIOSCROBBLER_SERVICE_CID \ { 0xbafaaa31, 0x9811, 0x4bc6, \ { 0x9a, 0xec, 0x29, 0x58, 0x91, 0x52, 0xad, 0x18 } } #define AUDIOSCROBBLER_SERVICE_CONTRACTID \ "@skrul.com/audioscrobbler-service;1" #define AUDIOSCROBBLER_SERVICE_CLASSNAME "SKAS_AudioscrobblerService" %}