// 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;

// A location fix representing a geographic location (latitude, longitude, time)
// and associated information like altitude, bearing, etc.
//
// This is based on
// http://developer.android.com/reference/android/location/Location.html .
struct Location {
  // UTC time of this fix, in milliseconds since January 1, 1970.
  uint64 time;

  // Time of this fix, in elapsed real-time since some fixed reference point.
  // The refernce point may depend on the underlying platform and should only
  // be used for comparison within the same connection.
  // For example, android may use system boot as a reference point.
  bool has_elapsed_real_time_nanos = false;
  uint64 elapsed_real_time_nanos;

  // In degrees.
  double latitude;

  // In degrees.
  double longitude;

  // Altitude in meters above the WGS 84 reference ellipsoid.
  bool has_altitude = false;
  double altitude;

  // Speed in meters/second over ground.
  bool has_speed = false;
  float speed;

  // In degrees.
  bool has_bearing = false;
  float bearing;

  // Estimated accuracy of this fix in meters.
  bool has_accuracy = false;
  float accuracy;
};
