/* -*- Mode: C++; tab-width: 40; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

[scriptable, function, uuid(4e258af8-cffb-47bc-b16d-e8241243426e)]
interface nsIDOMMozWakeLockListener : nsISupports
{
  /**
   * The callback will be called when a lock topic changes its lock
   * state.
   *
   * Possible states are:
   *
   *  - "unlocked" - nobody holds the wake lock.
   *
   *  - "locked-foreground" - at least one window holds the wake lock,
   *    and it is visible.
   *
   *  - "locked-background" - at least one window holds the wake lock,
   *    but all of them are hidden.
   *
   * @param aTopic The resource name related to the wake lock.
   * @param aState The wake lock state
   */
  void callback(in DOMString aTopic, in DOMString aState);
};
