// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module arc.mojom;

import "components/arc/mojom/sensor_service.mojom";

// Chrome implements this interface to handle requests from ARC.
// Next method ID: 1
interface SensorHost {
  // Binds the request to the sensor service.
  GetSensorService@0(pending_receiver<SensorService> request);
};

// ARC implements this interface to interact with chrome.
// Next method ID: 1
interface SensorInstance {
  // Establishes full-duplex communication with the host.
  Init@0(pending_remote<SensorHost> host_ptr) => ();
};
