/* 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/. */

#include "domstubs.idl"

interface nsIDOMGeoPositionCallback;
interface nsIDOMGeoPositionErrorCallback;
[ptr] native GeoPositionOptions(mozilla::idl::GeoPositionOptions);

%{C++
namespace mozilla {
namespace idl {
class GeoPositionOptions;
}
}
%}

[scriptable, builtinclass, uuid(d8e6449f-92c8-4c6a-aa9f-fef70157ec29)]
interface nsIGeolocation : nsISupports
{
  // Versions of the DOM APIs that don't require JS option values
  int32_t watchPosition(in nsIDOMGeoPositionCallback callback,
                        in nsIDOMGeoPositionErrorCallback errorCallback,
                        in GeoPositionOptions options);
  void getCurrentPosition(in nsIDOMGeoPositionCallback callback,
                          in nsIDOMGeoPositionErrorCallback errorCallback,
                          in GeoPositionOptions options);
};
