activityfw/activityserviceplugin/activitydatastorage.cpp
changeset 80 397d00875918
parent 73 4bc7b118b3df
child 83 156f692b1687
--- a/activityfw/activityserviceplugin/activitydatastorage.cpp	Fri May 14 16:10:06 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "activitydatastorage.h"
-
-#include <QSqlDatabase>
-#include <QSqlQuery>
-#include <QSqlError>
-#include <QStringList>
-
-const char KConnectionName[] = "ActivityDataStorage";
-
-ActivityDataStorage::ActivityDataStorage()
-{
-    QSqlDatabase database;
-    if (QSqlDatabase::contains(KConnectionName)) {
-        database = QSqlDatabase::database(KConnectionName);
-    } else {
-        database = QSqlDatabase::addDatabase("QSQLITE", KConnectionName);
-        database.setDatabaseName("activitydatastorage.db");
-        if (!database.open()) {
-            qFatal(qPrintable(database.lastError().text()));
-        }
-    }
-
-    if (!checkTables()) {
-        recreateTables();
-    }
-}
-
-ActivityDataStorage::~ActivityDataStorage()
-{
-    QSqlDatabase::database(KConnectionName).close();
-}
-
-bool ActivityDataStorage::addActivity(const QString &activityId, const QVariant &data)
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-
-    QByteArray streamedData;
-    {
-        QDataStream stream(&streamedData, QIODevice::WriteOnly);
-        stream << data;
-    }
-
-    // insert data
-    QSqlQuery query(database);
-    if (!query.prepare("INSERT INTO Activities(Name, Data) VALUES(:Name, :Data)")) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    query.bindValue(":Name", activityId);
-    query.bindValue(":Data", streamedData);
-    if (!query.exec()) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-
-    return true;
-}
-
-bool ActivityDataStorage::removeActivity(const QString &activityId)
-{
-    QString sqlCommand = QString("DELETE FROM Activities WHERE Name = '%1'").arg(activityId);
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    if (!query.exec(sqlCommand)) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    return query.numRowsAffected() > 0;
-}
-
-bool ActivityDataStorage::updateActivity(const QString &activityId, const QVariant &data)
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-
-    QByteArray streamedData;
-    {
-        QDataStream stream(&streamedData, QIODevice::WriteOnly);
-        stream << data;
-    }
-
-    // update data
-    QSqlQuery query(database);
-    if (!query.prepare("UPDATE Activities SET Data = :Data WHERE Name = :Name")) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    query.bindValue(":Data", streamedData);
-    query.bindValue(":Name", activityId);
-    if (!query.exec()) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-
-    return query.numRowsAffected() > 0;
-}
-
-QVariant ActivityDataStorage::activityData(const QString &activityId) const
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    QSqlQuery query(database);
-    if (!query.exec(QString("SELECT Data FROM Activities WHERE Name = '%1'").arg(activityId))) {
-        qCritical(qPrintable(query.lastError().text()));
-        return QVariant();
-    }
-
-    QVariant result;
-    if (query.next()) {
-        QByteArray data(query.value(0).toByteArray());
-        QDataStream stream(&data, QIODevice::ReadOnly);
-        stream >> result;
-    }
-    return result;
-}
-
-bool ActivityDataStorage::checkTables()
-{
-    QStringList expectedTables("Activities");
-    QStringList actualTables = QSqlDatabase::database(KConnectionName).tables();
-    return (expectedTables == actualTables);
-}
-
-void ActivityDataStorage::recreateTables()
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-
-    if (!database.transaction()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }
-
-    // drop any existing tables
-    {
-        QSqlQuery dropQuery(database);
-        foreach(const QString &tableName, database.tables()) {
-            if (!dropQuery.exec(QString("DROP TABLE %1").arg(tableName))) {
-                qFatal(qPrintable(dropQuery.lastError().text()));
-            }
-        }
-    }
-
-    // create new table
-    {
-        QSqlQuery createQuery(database);
-        QString statement(
-            "CREATE TABLE Activities("
-            "Name TEXT NOT NULL PRIMARY KEY UNIQUE,"
-            "Data BLOB NOT NULL)");
-
-        if (!createQuery.exec(statement)) {
-            qFatal(qPrintable(createQuery.lastError().text()));
-        }
-    }
-
-    if (!database.commit()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }
-}