diff -r 6aeb7a756187 -r 3c88a81ff781 browsercore/appfw/Api/Managers/geolocationManager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browsercore/appfw/Api/Managers/geolocationManager.h Fri Oct 15 17:30:59 2010 -0400 @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, version 2.1 of the License. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". +* +* Description: +* +*/ +#ifndef GEOLOCATIONMANAGER_H +#define GEOLOCATIONMANAGER_H + +#include +#include +#include +#include +#include +#include +#include "BWFGlobal.h" + +class QWidget; + +#define GEOLOCATION_DB_NAME "Geolocation" +#define GEOLOCATION_DB_FILE "geolocation.db" +#define GEOLOCATION_TABLE_NAME "geolocationdata" + + + +class BWF_EXPORT GeolocationManager : public QObject { + + Q_OBJECT + +public: + enum status { + SUCCESS = 0, + FAILURE = -1, + DATABASEERROR = -2 + }; + + static GeolocationManager* getSingleton(); + virtual ~GeolocationManager(); + +public slots: + + int addGeodomain(QString domainToAdd, QWebPage::PermissionPolicy permission); + int deleteGeodomain(QString domain); + int clearAllGeodata(); + QList findGeodomain(QString domain); + + private: + GeolocationManager(QWidget *parent = 0); + bool doQuery(QString query); + bool doesTableExist(QString tableName); + void createGeolocationSchema(); + void lastErrMsg(QSqlQuery& query); + QWebPage::PermissionPolicy convertStringIntoPermission(QString permission); + QString convertPermissionIntoString(QWebPage::PermissionPolicy permission); + + QSqlDatabase m_geo; +}; + +#endif //GEOLOCATIONMANAGER_H