123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- /* -*- Mode: C++; tab-width: 8; 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 protocol PContent;
- include protocol PBrowser;
- include "mozilla/GfxMessageUtils.h";
- using mozilla::dom::ScreenOrientationInternal from "mozilla/dom/ScreenOrientation.h";
- using mozilla::hal::SensorType from "mozilla/HalSensor.h";
- using mozilla::hal::SensorAccuracyType from "mozilla/HalSensor.h";
- using mozilla::hal::WakeLockControl from "mozilla/HalTypes.h";
- using mozilla::hal::ProcessPriority from "mozilla/HalTypes.h";
- using nsIntRect from "nsRect.h";
- using PRTime from "prtime.h";
- namespace mozilla {
- namespace hal {
- struct SensorData {
- SensorType sensor;
- PRTime timestamp;
- float[] values;
- SensorAccuracyType accuracy;
- };
- struct NetworkInformation {
- uint32_t type;
- bool isWifi;
- uint32_t dhcpGateway;
- };
- struct WakeLockInformation {
- nsString topic;
- uint32_t numLocks;
- uint32_t numHidden;
- uint64_t[] lockingProcesses;
- };
- struct ScreenConfiguration {
- nsIntRect rect;
- ScreenOrientationInternal orientation;
- uint16_t angle;
- uint32_t colorDepth;
- uint32_t pixelDepth;
- };
- struct SystemTimezoneChangeInformation {
- // These timezone offsets are relative to UTC in minutes and
- // have already taken daylight saving time (DST) into account.
- int32_t oldTimezoneOffsetMinutes;
- int32_t newTimezoneOffsetMinutes;
- };
- } // namespace hal
- namespace hal_sandbox {
- nested(upto inside_cpow) sync protocol PHal {
- manager PContent;
- child:
- async NotifyNetworkChange(NetworkInformation aNetworkInfo);
- async NotifyWakeLockChange(WakeLockInformation aWakeLockInfo);
- async NotifyScreenConfigurationChange(ScreenConfiguration aScreenOrientation);
- async NotifySystemClockChange(int64_t aClockDeltaMS);
- async NotifySystemTimezoneChange(SystemTimezoneChangeInformation aSystemTimezoneChangeInfo);
- parent:
- async EnableNetworkNotifications();
- async DisableNetworkNotifications();
- sync GetCurrentNetworkInformation()
- returns (NetworkInformation aNetworkInfo);
- sync GetScreenEnabled() returns (bool enabled);
- async SetScreenEnabled(bool aEnabled);
- sync GetKeyLightEnabled() returns (bool enabled);
- async SetKeyLightEnabled(bool aEnabled);
- sync GetCpuSleepAllowed() returns (bool allowed);
- async SetCpuSleepAllowed(bool aAllowed);
- sync GetScreenBrightness() returns (double brightness);
- async SetScreenBrightness(double aBrightness);
- async AdjustSystemClock(int64_t aDeltaMilliseconds);
- async SetTimezone(nsCString aTimezoneSpec);
- sync GetTimezone()
- returns (nsCString aTimezoneSpec);
- sync GetTimezoneOffset()
- returns (int32_t aTimezoneOffset);
- async EnableSystemClockChangeNotifications();
- async DisableSystemClockChangeNotifications();
- async EnableSystemTimezoneChangeNotifications();
- async DisableSystemTimezoneChangeNotifications();
- async ModifyWakeLock(nsString aTopic,
- WakeLockControl aLockAdjust,
- WakeLockControl aHiddenAdjust,
- uint64_t aProcessID);
- async EnableWakeLockNotifications();
- async DisableWakeLockNotifications();
- sync GetWakeLockInfo(nsString aTopic)
- returns (WakeLockInformation aWakeLockInfo);
- async EnableScreenConfigurationNotifications();
- async DisableScreenConfigurationNotifications();
- nested(inside_cpow) sync GetCurrentScreenConfiguration()
- returns (ScreenConfiguration aScreenConfiguration);
- sync LockScreenOrientation(ScreenOrientationInternal aOrientation)
- returns (bool allowed);
- async UnlockScreenOrientation();
-
- async FactoryReset(nsString aReason);
- child:
- async NotifySensorChange(SensorData aSensorData);
- parent:
- async EnableSensorNotifications(SensorType aSensor);
- async DisableSensorNotifications(SensorType aSensor);
- async __delete__();
- };
- } // namespace hal
- } // namespace mozilla
|