--- a/qtinternetradio/ui/src/irsearchcriteriadb.cpp Mon May 03 12:25:23 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +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 <QFile>
-#include <QSqlQuery>
-#include <QSqlRecord>
-#include <QSqlDatabase>
-#include <QVariant>
-
-
-#include "irsearchcriteriadb.h"
-
-
-IRSearchCriteriaDB::IRSearchCriteriaDB(int aMaxCount):iDB(NULL),iMaxCount(aMaxCount)
-{
- createDBConnection();
-}
-
-IRSearchCriteriaDB::~IRSearchCriteriaDB()
-{
- if (iDB->isOpen())
- {
- iDB->close();
- }
-
- delete iDB;
- iDB = NULL;
-}
-
-IRQError IRSearchCriteriaDB::addOneCriteria(const QString& aCriteria)
-{
- if (iDB->isOpen())
- {
- if( aCriteria.length() >= CRITERIA_UPLIMIT_LENGTH )
- {
- //the unicode string is too long to store
- return EIRQErrorBadParameter;
- }
-
- QSqlQuery query("SELECT * FROM criteria");
- QSqlRecord rec = query.record();
-
- if( rec.count() >= iMaxCount )
- {
- bool ret = deleteSomeCriteria();
- if( !ret )
- {
- return EIRQErrorGeneral;
- }
- }
-
-
- bool ret = query.prepare("INSERT INTO criteria (cricolum) "
- "VALUES (?)");
- query.addBindValue(aCriteria,QSql::In);
- ret = query.exec();
-
- emit dataAdded();
- return EIRQErrorNone;
- }
-
- return EIRQErrorServiceUnavailable;
-}
-
-bool IRSearchCriteriaDB::getAllCriteria(QStringList& aStrList) const
-{
- aStrList.clear();
- if (iDB->isOpen())
- {
- QSqlQuery query("SELECT * FROM criteria");
- QSqlRecord rec = query.record();
-
- int criteriaCol = rec.indexOf("cricolum");
- while (query.next())
- {
- aStrList.append(query.value(criteriaCol).toString());
- }
- return true;
- }
-
- return false;
-}
-
-void IRSearchCriteriaDB::createDBConnection()
-{
- bool created = QFile::exists("searchcriteria.dat");
- QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
- iDB = new QSqlDatabase(db);
-
- iDB->setDatabaseName("searchcriteria.dat");
-
- if (!iDB->open())
- {
- return;
- }
-
-
- if (!created)
- {
- bool dbResult = false;
- QSqlQuery query;
- dbResult = query.exec("CREATE TABLE criteria ("
- "id INTEGER PRIMARY KEY AUTOINCREMENT, "
- "cricolum VARCHAR(255) NOT NULL)");
-
- if (!dbResult)
- {
- return;
- }
- }
-}
-
-bool IRSearchCriteriaDB::isAlreadyExist(const QString& aCriteria) const
-{
- //TODO: change to the sql statement, but now the sqlquery binding
- //dose not work well
- if( aCriteria.length() >= CRITERIA_UPLIMIT_LENGTH )
- {
- return true;
- }
-
- QStringList strList;
- getAllCriteria(strList);
-
- for(int i=0; i<strList.count(); i++)
- {
- if( 0 == strList[i].compare(aCriteria, Qt::CaseInsensitive))
- {
- return true;
- }
- }
-
- return false;
-}
-
-bool IRSearchCriteriaDB::deleteSomeCriteria()
-{
- //TODO: to delete some items when the db is full
- return true;
-}
-
-