WebAPI/WebVoicemail

From MozillaWiki
Jump to: navigation, search

WebAPI

 interface MozVoicemail : EventTarget
 {
   /**
    * The current voicemail status, or null when the status is unknown
    */
   [GetterThrows]
   readonly attribute MozVoicemailStatus? status;
 
   /**
    * The voicemail box dialing number, or null if one wasn't found
    */
   [GetterThrows]
   readonly attribute DOMString? number;
 
   /**
    * The display name of the voicemail box dialing number, or null if one
    * wasn't found
    */
   [GetterThrows]
   readonly attribute DOMString? displayName;
 
   /**
    * The current voicemail status has changed
    */
   attribute EventHandler onstatuschanged;
};
interface nsIDOMMozVoicemailStatus : nsISupports
{
  /**
   * There are voicemail messages waiting, but the count is unknown.
   */
  const long MESSAGE_COUNT_UNKNOWN = -1;

  /**
   * Whether or not there are messages waiting in the voicemail box
   */
  readonly attribute boolean hasMessages;

  /**
   * The total message count. Some voicemail indicators will only specify that
   * messages are waiting, but not the actual number. In that case, the value
   * of messageCount will be MESSAGE_COUNT_UNKNOWN (-1).
   *
   * Logic for a voicemail notification might look something like:
   * if (status.hasMessages) {
   *   // show new voicemail notification
   *   if (status.messageCount > 0) {
   *     // add a label for the message count
   *   }
   * } else {
   *   // hide the voicemail notification
   * }
   */
  readonly attribute long messageCount;

  /**
   * Return call number received for this voicemail status, or null if one
   * wasn't provided.
   */
  readonly attribute DOMString returnNumber;

  /**
   * Displayable return call message received for this voicemail status, or null
   * if one wasn't provided.
   */
  readonly attribute DOMString returnMessage;
};