mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
4d26ccee63
This patch adds the interface for the Gonk sensors daemon. There are only two major interfaces: connect and disconnect. The sensors daemon is started before connecting and stopped after a disconnect. Connections are race-free: we first set up a listen socket and let Gecko listen for connections. Then the daemon gets started with the socket's address as parameter. When the daemon connects to the socket, Gecko will continue the startup and signal success to the caller.
192 lines
5.5 KiB
Python
192 lines
5.5 KiB
Python
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# 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/.
|
|
|
|
XPIDL_SOURCES += [
|
|
'gonk/nsIRecoveryService.idl',
|
|
]
|
|
|
|
XPIDL_MODULE = 'hal'
|
|
|
|
EXPORTS.mozilla += [
|
|
'Hal.h',
|
|
'HalImpl.h',
|
|
'HalSandbox.h',
|
|
'HalScreenConfiguration.h',
|
|
'HalSensor.h',
|
|
'HalTypes.h',
|
|
'HalWakeLock.h',
|
|
]
|
|
|
|
TEST_DIRS += ['tests']
|
|
UNIFIED_SOURCES += [
|
|
'HalWakeLock.cpp',
|
|
'sandbox/SandboxHal.cpp',
|
|
'WindowIdentifier.cpp',
|
|
]
|
|
|
|
# Hal.cpp cannot be built in unified mode because it relies on HalImpl.h.
|
|
SOURCES += [
|
|
'Hal.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
|
LOCAL_INCLUDES += [
|
|
'/widget/android',
|
|
]
|
|
UNIFIED_SOURCES += [
|
|
'android/AndroidAlarm.cpp',
|
|
'android/AndroidSensor.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'linux/LinuxMemory.cpp',
|
|
]
|
|
# AndroidHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
|
|
SOURCES += [
|
|
'android/AndroidHal.cpp',
|
|
]
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
UNIFIED_SOURCES += [
|
|
'gonk/GonkDiskSpaceWatcher.cpp',
|
|
'gonk/GonkFMRadio.cpp',
|
|
'gonk/GonkSensor.cpp',
|
|
'gonk/GonkSensorsHelpers.cpp',
|
|
'gonk/GonkSensorsInterface.cpp',
|
|
'gonk/GonkSensorsPollInterface.cpp',
|
|
'gonk/GonkSensorsRegistryInterface.cpp',
|
|
'gonk/GonkSwitch.cpp',
|
|
'gonk/SystemService.cpp',
|
|
'gonk/UeventPoller.cpp',
|
|
'linux/LinuxMemory.cpp',
|
|
'linux/LinuxPower.cpp',
|
|
]
|
|
# GonkHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
|
|
SOURCES += [
|
|
'gonk/GonkHal.cpp',
|
|
]
|
|
elif CONFIG['OS_TARGET'] == 'Linux':
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackSensor.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
'linux/LinuxMemory.cpp',
|
|
'linux/LinuxPower.cpp',
|
|
]
|
|
if CONFIG['MOZ_ENABLE_DBUS']:
|
|
UNIFIED_SOURCES += [
|
|
'linux/UPowerClient.cpp',
|
|
]
|
|
else:
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackBattery.cpp',
|
|
]
|
|
elif CONFIG['OS_TARGET'] == 'WINNT':
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
'windows/WindowsSensor.cpp',
|
|
]
|
|
# WindowsBattery.cpp cannot be built in unified mode because it relies on HalImpl.h.
|
|
SOURCES += [
|
|
'windows/WindowsBattery.cpp',
|
|
]
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
UNIFIED_SOURCES += [
|
|
'cocoa/CocoaBattery.cpp',
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
]
|
|
elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackSensor.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
]
|
|
if CONFIG['MOZ_ENABLE_DBUS']:
|
|
UNIFIED_SOURCES += [
|
|
'linux/UPowerClient.cpp',
|
|
]
|
|
else:
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackBattery.cpp',
|
|
]
|
|
else:
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackBattery.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackSensor.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
]
|
|
|
|
# Fallbacks for backends implemented on Gonk only.
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackDiskSpaceWatcher.cpp',
|
|
'fallback/FallbackFactoryReset.cpp',
|
|
'fallback/FallbackFMRadio.cpp',
|
|
'fallback/FallbackProcessPriority.cpp',
|
|
'fallback/FallbackScreenPower.cpp',
|
|
'fallback/FallbackSwitch.cpp',
|
|
'fallback/FallbackSystemService.cpp',
|
|
'fallback/FallbackThreadPriority.cpp',
|
|
'fallback/FallbackTime.cpp',
|
|
'fallback/FallbackWakeLocks.cpp',
|
|
]
|
|
|
|
# Fallbacks for backends implemented on Android only.
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackNetwork.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
UNIFIED_SOURCES += [
|
|
'cocoa/CocoaSensor.mm',
|
|
'cocoa/smslib.mm',
|
|
]
|
|
|
|
IPDL_SOURCES = [
|
|
'sandbox/PHal.ipdl',
|
|
]
|
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
FINAL_LIBRARY = 'xul'
|
|
|
|
if CONFIG['MOZ_GAMEPAD']:
|
|
LOCAL_INCLUDES += [
|
|
'/dom/base',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
# So that we can call nsScreenManagerGonk::GetConfiguration().
|
|
LOCAL_INCLUDES += [
|
|
'/widget',
|
|
'/widget/gonk',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
LOCAL_INCLUDES += ['%' + '%s/hardware/libhardware_legacy/include' % CONFIG['ANDROID_SOURCE']]
|
|
|
|
CFLAGS += CONFIG['GLIB_CFLAGS']
|
|
CFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
|
|
CXXFLAGS += CONFIG['GLIB_CFLAGS']
|
|
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
|
|
|
|
if CONFIG['GNU_CXX']:
|
|
CXXFLAGS += ['-Wshadow']
|