GeolocationClientGtk.h [plain text]
#ifndef GeolocationClientGtk_h
#define GeolocationClientGtk_h
#if ENABLE(GEOLOCATION)
#include "GeolocationClient.h"
#include "GeolocationPosition.h"
#include <geoclue/geoclue-master.h>
#include <geoclue/geoclue-position.h>
#include <wtf/gobject/GRefPtr.h>
typedef struct _WebKitWebView WebKitWebView;
namespace WebCore {
class Geolocation;
}
namespace WebKit {
class GeolocationClient : public WebCore::GeolocationClient {
public:
GeolocationClient(WebKitWebView*);
void geolocationDestroyed();
void startUpdating();
void stopUpdating();
void setEnableHighAccuracy(bool);
WebCore::GeolocationPosition* lastPosition();
void requestPermission(WebCore::Geolocation*);
void cancelPermissionRequest(WebCore::Geolocation*);
void positionChanged(GeocluePosition*, GeocluePositionFields, int, double, double, double, GeoclueAccuracy*);
void errorOccured(const char*);
private:
void updatePosition();
WebKitWebView* m_webView;
RefPtr<WebCore::GeolocationPosition> m_lastPosition;
GRefPtr<GeoclueMasterClient> m_geoclueClient;
GRefPtr<GeocluePosition> m_geocluePosition;
double m_latitude;
double m_longitude;
double m_altitude;
double m_accuracy;
double m_altitudeAccuracy;
int m_timestamp;
bool m_enableHighAccuracy;
bool m_isUpdating;
};
}
#endif // ENABLE(GEOLOCATION)
#endif // GeolocationClientGtk_h