From: <ibr...@us...> - 2012-08-29 09:14:10
|
Revision: 4432 http://tora.svn.sourceforge.net/tora/?rev=4432&view=rev Author: ibre5041 Date: 2012-08-29 09:13:59 +0000 (Wed, 29 Aug 2012) Log Message: ----------- MSVC Compile fixes Modified Paths: -------------- branches/tora3/src/CMakeLists.txt branches/tora3/src/core/toeventquery.cpp branches/tora3/src/core/toeventquery.h branches/tora3/src/core/toeventqueryworker.h branches/tora3/src/tools/tounittest.h Added Paths: ----------- branches/tora3/src/obsolete/torunnable.cpp branches/tora3/src/obsolete/torunnable.h Removed Paths: ------------- branches/tora3/src/core/torunnable.cpp branches/tora3/src/core/torunnable.h Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/CMakeLists.txt 2012-08-29 09:13:59 UTC (rev 4432) @@ -167,7 +167,7 @@ core/toquery.h core/toeventquery.h core/toeventqueryworker.h - core/torunnable.h + #obsolete core/torunnable.h core/toresultview.h core/toresult.h core/toresultlistformat.h @@ -387,7 +387,7 @@ core/toquery.cpp core/toeventquery.cpp core/toeventqueryworker.cpp - core/torunnable.cpp + #obsolete core/torunnable.cpp core/toresultview.cpp core/toresult.cpp core/toresultlistformat.cpp Modified: branches/tora3/src/core/toeventquery.cpp =================================================================== --- branches/tora3/src/core/toeventquery.cpp 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/core/toeventquery.cpp 2012-08-29 09:13:59 UTC (rev 4432) @@ -42,11 +42,8 @@ #include "core/toeventquery.h" #include "core/utils.h" #include "core/tologger.h" -#include "core/toconf.h" #include "core/toeventqueryworker.h" //#include "core/toresultstats.h" -#include "core/totool.h" -#include "core/torunnable.h" #include "core/toconnection.h" #include "core/toconnectionsub.h" #include "core/toconnectionsubloan.h" Modified: branches/tora3/src/core/toeventquery.h =================================================================== --- branches/tora3/src/core/toeventquery.h 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/core/toeventquery.h 2012-08-29 09:13:59 UTC (rev 4432) @@ -52,6 +52,7 @@ #include <QObject> #include <QPointer> #include <QSharedPointer> +#include <QWaitCondition> class toResultStats; class toEventQueryWorker; Modified: branches/tora3/src/core/toeventqueryworker.h =================================================================== --- branches/tora3/src/core/toeventqueryworker.h 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/core/toeventqueryworker.h 2012-08-29 09:13:59 UTC (rev 4432) @@ -45,7 +45,6 @@ #include "core/toconnection.h" #include "core/toquery.h" -#include "core/torunnable.h" #include "core/toqvalue.h" #include "core/tocache.h" #include "core/toeventquery.h" @@ -70,6 +69,7 @@ public: BGThread(QObject* parent) : QThread(parent), Slave(NULL), Parent((toEventQuery*)parent) {}; ~BGThread() {}; + // These two pointers are for debugging purposes only toEventQueryWorker* Slave; toEventQuery* Parent; @@ -80,15 +80,7 @@ protected: void run(void) { - // This was copied from QT trunk - as of 4.8.2 it is not used yet - QByteArray objectName = QThread::objectName().toLatin1(); - if (objectName.isEmpty()) - objectName = QThread::metaObject()->className(); -#if defined(Q_OS_LINUX) - prctl(PR_SET_NAME, (unsigned long)objectName.constData(), 0, 0, 0); -#elif defined(Q_OS_MAC) - pthread_setname_np(objectName.constData()); -#endif + Utils::toSetThreadName(*this); QThread::run(); } }; Deleted: branches/tora3/src/core/torunnable.cpp =================================================================== --- branches/tora3/src/core/torunnable.cpp 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/core/torunnable.cpp 2012-08-29 09:13:59 UTC (rev 4432) @@ -1,78 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2009 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * Specifically you are not permitted to link this program with the - * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. - * And you are not permitted to distribute binaries compiled against - * these libraries. - * - * You may link this product with any GPL'd Qt library. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#include "core/torunnable.h" -#include "core/utils.h" - -#include <QCoreApplication> - -static toRunnableDeleter *Deleter = new toRunnableDeleter(); - -void toRunnableDeleter::customEvent(QEvent *event) -{ - FinishedEvent *e = dynamic_cast<FinishedEvent *>(event); - if(e) - { - toRunnableThread *t = e->thread(); - if(t) - { - t->exit(); - t->wait(); - delete t; - } - } -} - - -void toRunnableThread::run() -{ - Utils::toSetThreadName(*this); - Runner->setThread(this); - Runner->run(); - - delete Runner; - QCoreApplication::postEvent(Deleter, new FinishedEvent(this)); -} - -toRunnableThread::~toRunnableThread() -{ -} - Deleted: branches/tora3/src/core/torunnable.h =================================================================== --- branches/tora3/src/core/torunnable.h 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/core/torunnable.h 2012-08-29 09:13:59 UTC (rev 4432) @@ -1,191 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2009 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * Specifically you are not permitted to link this program with the - * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. - * And you are not permitted to distribute binaries compiled against - * these libraries. - * - * You may link this product with any GPL'd Qt library. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#ifndef TORUNNABLE_H -#define TORUNNABLE_H - -#include <QObject> -#include <QEvent> -#include <QThread> - - -class toRunnableThread; - - -/** - * Custom event class for deleting thread - * - */ -class FinishedEvent : public QEvent -{ - toRunnableThread *Thread; - -public: - FinishedEvent(toRunnableThread *t) : QEvent(QEvent::User) - { - Thread = t; - } - - - toRunnableThread* thread() const - { - return Thread; - } -}; - - -/** - * An abstract class designed to be run from a toRunnableThread. This - * allows you to send signals and use slots from a thread in an - * intuitive fashion. - * - * NOTE: at this moment it is subclassed only by toEventQueryTask - * and toConnectionPool - */ -class toRunnable : public QObject -{ - Q_OBJECT; - - friend class toRunnableThread; // there is cyclic pointer reference between these two classes - toRunnableThread *Thread; // This value is initialized at toRunnableThread::run() -public: - - /** - * Create new runnable object. Does not accept a QObject parent as - * this class will be deleted by toRunnableThread. - * - */ - toRunnable() : QObject(0), Thread(0) - { - } - - virtual ~toRunnable() - { - } - - - /** - * Override to provide executable. Thread will exit when run does. - * - */ - virtual void run(void) = 0; - - - /** - * Set by toRunnableThread before run() - * - */ - void setThread(toRunnableThread *thread) - { - Thread = thread; - } - - toRunnableThread* thread(void) const - { - return Thread; - } -}; - - -/** - * A QThread subclass that uses toRunnable - * - */ -class toRunnableThread : public QThread -{ - Q_OBJECT; - - toRunnable *Runner; - - /** override from QThread */ - virtual void run(void); - -public: - - /** - * Creates new thread. Call start to begin. - * and then delete the runner, callee should not delete it - */ - toRunnableThread(toRunnable *runner) : QThread(0) - { - Runner = runner; - Runner->moveToThread(this); - setObjectName(QString::fromLatin1("Task:") + Runner->objectName()); - } - - virtual ~toRunnableThread(); - - /** - * Redeclares public - * - */ - int exec() - { - return QThread::exec(); - } -}; - - -/** - * Can't delete thread from event handler - * - */ -class toRunnableDeleter : public QObject -{ - Q_OBJECT; - -public: - toRunnableDeleter() - { - } - - -protected: - - /** - * Overrides qobject and redeclares non-virtual. It's not a good - * idea to override this. - * - */ - void customEvent(QEvent *event); -}; - -#endif Copied: branches/tora3/src/obsolete/torunnable.cpp (from rev 4431, branches/tora3/src/core/torunnable.cpp) =================================================================== --- branches/tora3/src/obsolete/torunnable.cpp (rev 0) +++ branches/tora3/src/obsolete/torunnable.cpp 2012-08-29 09:13:59 UTC (rev 4432) @@ -0,0 +1,78 @@ + +/* BEGIN_COMMON_COPYRIGHT_HEADER + * + * TOra - An Oracle Toolkit for DBA's and developers + * + * Shared/mixed copyright is held throughout files in this product + * + * Portions Copyright (C) 2000-2001 Underscore AB + * Portions Copyright (C) 2003-2005 Quest Software, Inc. + * Portions Copyright (C) 2004-2009 Numerous Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * Specifically you are not permitted to link this program with the + * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. + * And you are not permitted to distribute binaries compiled against + * these libraries. + * + * You may link this product with any GPL'd Qt library. + * + * All trademarks belong to their respective owners. + * + * END_COMMON_COPYRIGHT_HEADER */ + +#include "core/torunnable.h" +#include "core/utils.h" + +#include <QCoreApplication> + +static toRunnableDeleter *Deleter = new toRunnableDeleter(); + +void toRunnableDeleter::customEvent(QEvent *event) +{ + FinishedEvent *e = dynamic_cast<FinishedEvent *>(event); + if(e) + { + toRunnableThread *t = e->thread(); + if(t) + { + t->exit(); + t->wait(); + delete t; + } + } +} + + +void toRunnableThread::run() +{ + Utils::toSetThreadName(*this); + Runner->setThread(this); + Runner->run(); + + delete Runner; + QCoreApplication::postEvent(Deleter, new FinishedEvent(this)); +} + +toRunnableThread::~toRunnableThread() +{ +} + Copied: branches/tora3/src/obsolete/torunnable.h (from rev 4431, branches/tora3/src/core/torunnable.h) =================================================================== --- branches/tora3/src/obsolete/torunnable.h (rev 0) +++ branches/tora3/src/obsolete/torunnable.h 2012-08-29 09:13:59 UTC (rev 4432) @@ -0,0 +1,191 @@ + +/* BEGIN_COMMON_COPYRIGHT_HEADER + * + * TOra - An Oracle Toolkit for DBA's and developers + * + * Shared/mixed copyright is held throughout files in this product + * + * Portions Copyright (C) 2000-2001 Underscore AB + * Portions Copyright (C) 2003-2005 Quest Software, Inc. + * Portions Copyright (C) 2004-2009 Numerous Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * Specifically you are not permitted to link this program with the + * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. + * And you are not permitted to distribute binaries compiled against + * these libraries. + * + * You may link this product with any GPL'd Qt library. + * + * All trademarks belong to their respective owners. + * + * END_COMMON_COPYRIGHT_HEADER */ + +#ifndef TORUNNABLE_H +#define TORUNNABLE_H + +#include <QObject> +#include <QEvent> +#include <QThread> + + +class toRunnableThread; + + +/** + * Custom event class for deleting thread + * + */ +class FinishedEvent : public QEvent +{ + toRunnableThread *Thread; + +public: + FinishedEvent(toRunnableThread *t) : QEvent(QEvent::User) + { + Thread = t; + } + + + toRunnableThread* thread() const + { + return Thread; + } +}; + + +/** + * An abstract class designed to be run from a toRunnableThread. This + * allows you to send signals and use slots from a thread in an + * intuitive fashion. + * + * NOTE: at this moment it is subclassed only by toEventQueryTask + * and toConnectionPool + */ +class toRunnable : public QObject +{ + Q_OBJECT; + + friend class toRunnableThread; // there is cyclic pointer reference between these two classes + toRunnableThread *Thread; // This value is initialized at toRunnableThread::run() +public: + + /** + * Create new runnable object. Does not accept a QObject parent as + * this class will be deleted by toRunnableThread. + * + */ + toRunnable() : QObject(0), Thread(0) + { + } + + virtual ~toRunnable() + { + } + + + /** + * Override to provide executable. Thread will exit when run does. + * + */ + virtual void run(void) = 0; + + + /** + * Set by toRunnableThread before run() + * + */ + void setThread(toRunnableThread *thread) + { + Thread = thread; + } + + toRunnableThread* thread(void) const + { + return Thread; + } +}; + + +/** + * A QThread subclass that uses toRunnable + * + */ +class toRunnableThread : public QThread +{ + Q_OBJECT; + + toRunnable *Runner; + + /** override from QThread */ + virtual void run(void); + +public: + + /** + * Creates new thread. Call start to begin. + * and then delete the runner, callee should not delete it + */ + toRunnableThread(toRunnable *runner) : QThread(0) + { + Runner = runner; + Runner->moveToThread(this); + setObjectName(QString::fromLatin1("Task:") + Runner->objectName()); + } + + virtual ~toRunnableThread(); + + /** + * Redeclares public + * + */ + int exec() + { + return QThread::exec(); + } +}; + + +/** + * Can't delete thread from event handler + * + */ +class toRunnableDeleter : public QObject +{ + Q_OBJECT; + +public: + toRunnableDeleter() + { + } + + +protected: + + /** + * Overrides qobject and redeclares non-virtual. It's not a good + * idea to override this. + * + */ + void customEvent(QEvent *event); +}; + +#endif Modified: branches/tora3/src/tools/tounittest.h =================================================================== --- branches/tora3/src/tools/tounittest.h 2012-08-28 22:54:37 UTC (rev 4431) +++ branches/tora3/src/tools/tounittest.h 2012-08-29 09:13:59 UTC (rev 4432) @@ -44,6 +44,9 @@ #include "core/totool.h" +class QSplitter; +class QTreeView; + class toWorksheetWidget; class toResultTableView; class toCodeModel; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |