blob: 2e789b8b4942797fd6d6ddd40ca6a8055e280dbe [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module device.mojom;
import "services/device/public/mojom/battery_monitor.mojom";
import "services/device/public/mojom/fingerprint.mojom";
import "services/device/public/mojom/geolocation_config.mojom";
import "services/device/public/mojom/geolocation_context.mojom";
import "services/device/public/mojom/geolocation_control.mojom";
import "services/device/public/mojom/geolocation_internals.mojom";
import "services/device/public/mojom/power_monitor.mojom";
import "services/device/public/mojom/pressure_manager.mojom";
import "services/device/public/mojom/public_ip_address_geolocation_provider.mojom";
import "services/device/public/mojom/screen_orientation.mojom";
import "services/device/public/mojom/sensor_provider.mojom";
import "services/device/public/mojom/serial.mojom";
import "services/device/public/mojom/time_zone_monitor.mojom";
import "services/device/public/mojom/usb_manager.mojom";
import "services/device/public/mojom/usb_manager_test.mojom";
import "services/device/public/mojom/vibration_manager.mojom";
import "services/device/public/mojom/wake_lock_provider.mojom";
[EnableIf=is_android]
import "services/device/public/mojom/nfc_provider.mojom";
[EnableIf=is_chromeos_ash]
import "services/device/public/mojom/mtp_manager.mojom";
[EnableIf=enable_hid]
import "services/device/public/mojom/hid.mojom";
[EnableIf=enable_input_device_manager]
import "services/device/public/mojom/input_service.mojom";
// The main interface to the Device Service. This is bound only by the browser
// process and is used to broker connections to more specific device APIs.
interface DeviceService {
// Binds a Fingerprint endpoint.
BindFingerprint(pending_receiver<Fingerprint> receiver);
// Binds a GeolocationConfig endpoint.
BindGeolocationConfig(pending_receiver<GeolocationConfig> receiver);
// Binds a GeolocationContext endpoint.
BindGeolocationContext(pending_receiver<GeolocationContext> receiver);
// Binds a GeolocationContext endpoint.
BindGeolocationControl(pending_receiver<GeolocationControl> receiver);
// Binds a GeolocationInternals endpoint.
BindGeolocationInternals(pending_receiver<GeolocationInternals> receiver);
// Binds a InputDeviceManager endpoint.
[EnableIf=enable_input_device_manager]
BindInputDeviceManager(pending_receiver<InputDeviceManager> receiver);
// Binds a BatteryMonitor endpoint.
BindBatteryMonitor(pending_receiver<BatteryMonitor> receiver);
// Binds a PressureManager endpoint.
BindPressureManager(pending_receiver<PressureManager> receiver);
// Binds a NFCProvider endpoint.
[EnableIf=is_android]
BindNFCProvider(pending_receiver<NFCProvider> receiver);
// Binds a VibrationManager endpoint.
BindVibrationManager(pending_receiver<VibrationManager> receiver);
// Binds a HidManager endpoint.
[EnableIf=enable_hid]
BindHidManager(pending_receiver<HidManager> receiver);
// Binds a MtpManager endpoint.
[EnableIf=is_chromeos_ash]
BindMtpManager(pending_receiver<MtpManager> receiver);
// Binds a PowerMonitor endpoint.
BindPowerMonitor(pending_receiver<PowerMonitor> receiver);
// Binds a BindPublicIpAddressGeolocationProviderReceiver endpoint.
BindPublicIpAddressGeolocationProvider(
pending_receiver<PublicIpAddressGeolocationProvider> receiver);
// Binds a ScreenOrientationListener endpoint.
BindScreenOrientationListener(
pending_receiver<ScreenOrientationListener> receiver);
// Binds a SensorProvider endpoint.
BindSensorProvider(pending_receiver<SensorProvider> receiver);
// binds a SerialPortManager endpoint.
BindSerialPortManager(pending_receiver<SerialPortManager> receiver);
// Binds a TimeZoneMonitor endpoint.
BindTimeZoneMonitor(pending_receiver<TimeZoneMonitor> receiver);
// Binds a WakeLockProvider endpoint.
BindWakeLockProvider(pending_receiver<WakeLockProvider> receiver);
// Binds a UsbDeviceManager endpoint.
BindUsbDeviceManager(pending_receiver<UsbDeviceManager> receiver);
// Binds a UsbDeviceManagerTest endpoint.
BindUsbDeviceManagerTest(pending_receiver<UsbDeviceManagerTest> receiver);
};