// Copyright 2015 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.

[DartPackage="mojo_services"]
module mojo;

import "location/interfaces/location.mojom";

// LocationService provides updates on the device's location.
// NOTE: This is specifically targetted towards use on Android by
// implementations which are thin wrappers over the Android Location API or the
// Google Play Services Location API. If we ever want to expand this to multiple
// platforms or if it starts growing in complexity, we should strongly consider
// use of Chromium's geolocation code.
interface LocationService {
  enum UpdatePriority {
    // Use this setting to request location precision to within a city block.
    PRIORITY_BALANCED_POWER_ACCURACY,
    // Use this setting to request the most precise location possible.
    PRIORITY_HIGH_ACCURACY,
    // Use this setting to request city-level precision.
    PRIORITY_LOW_POWER,
    // Use this setting if you need negligible impact on power consumption,
    // but want to receive location updates when available.
    PRIORITY_NO_POWER,
  };

  // Returns a location when it changes, based on |priority|. If this is the
  // initial call, the last known location is returned immediately, if
  // available.
  // Returns NULL if the client requests a new location while a request is
  // already in flight.
  GetNextLocation(UpdatePriority priority) => (Location? location);
};
