gecko/dom/power/PowerManager.h
Ryan VanderMeulen e646ffe2a9 Backed out 10 changesets (bug 914944, bug 871445) for mochitest failures on a CLOSED TREE.
Backed out changeset a840638b5b18 (bug 914944)
Backed out changeset f40c7d5790bd (bug 914944)
Backed out changeset e1b288e29663 (bug 871445)
Backed out changeset 6242ddf7b6c7 (bug 871445)
Backed out changeset 7679185a8cf3 (bug 871445)
Backed out changeset 639ec7a627f8 (bug 871445)
Backed out changeset 93b050a79db4 (bug 871445)
Backed out changeset ec3382ceef99 (bug 871445)
Backed out changeset 51c0d5230306 (bug 871445)
Backed out changeset 76c9069bdb56 (bug 871445)
2013-09-11 11:45:51 -04:00

74 lines
2.1 KiB
C++

/* -*- Mode: C++; tab-width: 2; 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/. */
#ifndef mozilla_dom_power_PowerManager_h
#define mozilla_dom_power_PowerManager_h
#include "nsCOMPtr.h"
#include "nsTArray.h"
#include "nsIDOMWakeLockListener.h"
#include "nsIDOMWindow.h"
#include "nsWeakReference.h"
#include "nsCycleCollectionParticipant.h"
#include "nsWrapperCache.h"
class nsPIDOMWindow;
namespace mozilla {
class ErrorResult;
namespace dom {
namespace power {
class PowerManager MOZ_FINAL : public nsIDOMMozWakeLockListener
, public nsWrapperCache
{
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(PowerManager)
NS_DECL_NSIDOMMOZWAKELOCKLISTENER
PowerManager()
{
SetIsDOMBinding();
}
nsresult Init(nsIDOMWindow *aWindow);
nsresult Shutdown();
static bool CheckPermission(nsPIDOMWindow*);
static already_AddRefed<PowerManager> CreateInstance(nsPIDOMWindow*);
// WebIDL
nsIDOMWindow* GetParentObject() const
{
return mWindow;
}
virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aScope) MOZ_OVERRIDE;
void Reboot(ErrorResult& aRv);
void FactoryReset();
void PowerOff(ErrorResult& aRv);
void AddWakeLockListener(nsIDOMMozWakeLockListener* aListener);
void RemoveWakeLockListener(nsIDOMMozWakeLockListener* aListener);
void GetWakeLockState(const nsAString& aTopic, nsAString& aState,
ErrorResult& aRv);
bool ScreenEnabled();
void SetScreenEnabled(bool aEnabled);
double ScreenBrightness();
void SetScreenBrightness(double aBrightness, ErrorResult& aRv);
bool CpuSleepAllowed();
void SetCpuSleepAllowed(bool aAllowed);
private:
nsCOMPtr<nsIDOMWindow> mWindow;
nsTArray<nsCOMPtr<nsIDOMMozWakeLockListener> > mListeners;
};
} // namespace power
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_power_PowerManager_h