#ifndef Coordinates_h
#define Coordinates_h
#include "bindings/v8/ScriptWrappable.h"
#include "core/events/Event.h"
#include "heap/Handle.h"
#include "wtf/RefCounted.h"
namespace WebCore {
class Coordinates : public RefCountedWillBeGarbageCollectedFinalized<Coordinates>, public ScriptWrappable {
public:
static PassRefPtrWillBeRawPtr<Coordinates> create(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed)
{
return adoptRefWillBeNoop(new Coordinates(latitude, longitude, providesAltitude, altitude, accuracy, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed));
}
void trace(Visitor*) { }
double latitude() const { return m_latitude; }
double longitude() const { return m_longitude; }
double altitude(bool& isNull) const;
double accuracy() const { return m_accuracy; }
double altitudeAccuracy(bool& isNull) const;
double heading(bool& isNull) const;
double speed(bool& isNull) const;
private:
Coordinates(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed)
: m_latitude(latitude)
, m_longitude(longitude)
, m_altitude(altitude)
, m_accuracy(accuracy)
, m_altitudeAccuracy(altitudeAccuracy)
, m_heading(heading)
, m_speed(speed)
, m_canProvideAltitude(providesAltitude)
, m_canProvideAltitudeAccuracy(providesAltitudeAccuracy)
, m_canProvideHeading(providesHeading)
, m_canProvideSpeed(providesSpeed)
{
ScriptWrappable::init(this);
}
double m_latitude;
double m_longitude;
double m_altitude;
double m_accuracy;
double m_altitudeAccuracy;
double m_heading;
double m_speed;
bool m_canProvideAltitude;
bool m_canProvideAltitudeAccuracy;
bool m_canProvideHeading;
bool m_canProvideSpeed;
};
}
#endif