Bug 2955. Workaround for lack of atomic operations in GCCE standard libraries (fall back to default use of Mutex)
/******************************************************************************** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).** All rights reserved.** Contact: Nokia Corporation (qt-info@nokia.com)**** This file is part of the tools applications of the Qt Toolkit.**** $QT_BEGIN_LICENSE:LGPL$** No Commercial Usage** This file contains pre-release code and may not be distributed.** You may use this file in accordance with the terms and conditions** contained in the Technology Preview License Agreement accompanying** this package.**** GNU Lesser General Public License Usage** Alternatively, this file may be used under the terms of the GNU Lesser** General Public License version 2.1 as published by the Free Software** Foundation and appearing in the file LICENSE.LGPL included in the** packaging of this file. Please review the following information to** ensure the GNU Lesser General Public License version 2.1 requirements** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.**** In addition, as a special exception, Nokia gives you certain additional** rights. These rights are described in the Nokia Qt LGPL Exception** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.**** If you have questions regarding the use of this file, please contact** Nokia at qt-info@nokia.com.****************** $QT_END_LICENSE$******************************************************************************/#ifndef DATABASE_H#define DATABASE_H#include <QtCore>#include <QtSql>extern QString resultsTable;QSqlDatabase openDataBase(const QString &databaseFile = "database");QSqlDatabase createDataBase(const QString &databaseFile = "database");void loadXml(const QStringList &fileNames);void loadXml(const QString &fileName, const QString &context=QString::null);void loadXml(const QByteArray &xml, const QString &context=QString::null);void execQuery(QSqlQuery query, bool warnOnFail = true);void execQuery(const QString &spec, bool warnOnFail = true);void printDataBase();void displayTable(const QString &table);class TempTable{public: TempTable(const QString &spec); ~TempTable(); QString name();private: QString m_name;};enum ChartType { BarChart, LineChart };class DataBaseWriter{public: DataBaseWriter(); QString databaseFileName; QString testTitle; QString testName; QString testCaseName; ChartType chartType; QSize chartSize; QString chartTitle; QString qtVersion; bool disable; void openDatabase(); void createDatabase(); void beginTransaction(); void commitTransaction(); void rollbackTransaction(); void addResult(const QString &result); void addResult(const QString &series , const QString &index, const QString &result, const QString &iterations = QLatin1String("1")); QSqlDatabase db;};#endif