1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include
"nsISupports.idl"
9 #define NS_POWERMANAGERSERVICE_CID
{ 0x18c2e238, 0x3a0a, 0x4153, {0x89, 0xfc, 0x16, 0x6b, 0x3b, 0x14, 0x65, 0xa1 } }
10 #define POWERMANAGERSERVICE_CONTRACTID
"@mozilla.org/power/powermanagerservice;1"
13 interface nsIDOMMozWakeLockListener
;
14 interface nsIDOMWindow
;
17 * For use with non-content code.
19 [scriptable
, builtinclass
, uuid(a232e826
-07bd
-11e2
-8a8f
-236186ff1a14
)]
20 interface nsIPowerManagerService
: nsISupports
23 * This API will power off the machine.
28 * This API will completely shut down and boot the machine.
33 * This API will restart the Gecko processes without powering off the machine.
37 void addWakeLockListener
(in nsIDOMMozWakeLockListener aListener
);
38 void removeWakeLockListener
(in nsIDOMMozWakeLockListener aListener
);
39 DOMString getWakeLockState
(in DOMString aTopic
);
42 * Return a wake lock (MozWakeLock) object of aTopic associated with aWindow.
43 * A wake lock without associated window, e.g. used in chrome, is
44 * always considered invisible.
46 nsISupports newWakeLock
(in DOMString aTopic
, [optional] in nsIDOMWindow aWindow
);