michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: interface nsIDOMMozVoicemailStatus; michael@0: michael@0: [scriptable, uuid(214b0963-da48-4859-a56c-f065a90e0403)] michael@0: interface nsIVoicemailListener : nsISupports michael@0: { michael@0: /** michael@0: * Called when a voicemail notification has been received by the network. michael@0: * michael@0: * @param status michael@0: * The new voicemail status michael@0: */ michael@0: void notifyStatusChanged(in nsIDOMMozVoicemailStatus status); michael@0: }; michael@0: michael@0: /** michael@0: * XPCOM component (in the content process) that provides the voicemail michael@0: * information. michael@0: */ michael@0: [scriptable, uuid(1bbfff90-88f7-4d73-896e-9620a0000ab0)] michael@0: interface nsIVoicemailProvider : nsISupports michael@0: { michael@0: readonly attribute unsigned long voicemailDefaultServiceId; michael@0: michael@0: /** michael@0: * Called when a content process registers receiving unsolicited messages from michael@0: * RadioInterfaceLayer in the chrome process. Only a content process that has michael@0: * the 'voicemail' permission is allowed to register. michael@0: */ michael@0: void registerVoicemailMsg(in nsIVoicemailListener listener); michael@0: void unregisterVoicemailMsg(in nsIVoicemailListener listener); michael@0: michael@0: nsIDOMMozVoicemailStatus getVoicemailStatus(in unsigned long clientId); michael@0: DOMString getVoicemailNumber(in unsigned long clientId); michael@0: DOMString getVoicemailDisplayName(in unsigned long clientId); michael@0: };