diff --git a/libs/qtconcurrent/QtConcurrentTools b/libs/qtconcurrent/QtConcurrentTools
deleted file mode 100644
index b8c36c1..0000000
--- a/libs/qtconcurrent/QtConcurrentTools
+++ /dev/null
@@ -1,31 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** Commercial Usage
-**
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** 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.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://qt.nokia.com/contact.
-**
-**************************************************************************/
-
-#include "qtconcurrent/multitask.h"
-#include "qtconcurrent/runextensions.h"
diff --git a/libs/qtconcurrent/multitask.h b/libs/qtconcurrent/multitask.h
deleted file mode 100644
index 18a748c..0000000
--- a/libs/qtconcurrent/multitask.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- ******************************************************************************
- *
- * @file       multitask.h
- * @author     The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
- *             Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
- * @brief      
- * @see        The GNU Public License (GPL) Version 3
- * @defgroup   
- * @{
- * 
- *****************************************************************************/
-/* 
- * 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; either version 3 of the License, or 
- * (at your option) any later version.
- * 
- * 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
- */
-
-#ifndef MULTITASK_H
-#define MULTITASK_H
-
-#include "qtconcurrent_global.h"
-#include "runextensions.h"
-
-#include <QtCore/QObject>
-#include <QtCore/QList>
-#include <QtCore/QEventLoop>
-#include <QtCore/QFutureWatcher>
-#include <QtCore/QtConcurrentRun>
-#include <QtCore/QThreadPool>
-
-#include <QtDebug>
-
-QT_BEGIN_NAMESPACE
-
-namespace QtConcurrent {
-
-class QTCONCURRENT_EXPORT MultiTaskBase : public QObject, public QRunnable
-{
-    Q_OBJECT
-protected slots:
-    virtual void cancelSelf() = 0;
-    virtual void setFinished() = 0;
-    virtual void setProgressRange(int min, int max) = 0;
-    virtual void setProgressValue(int value) = 0;
-    virtual void setProgressText(QString value) = 0;
-};
-
-template <typename Class, typename R>
-class MultiTask : public MultiTaskBase
-{
-public:
-    MultiTask(void (Class::*fn)(QFutureInterface<R> &), const QList<Class *> &objects)
-        : fn(fn),
-        objects(objects)
-    {
-        maxProgress = 100*objects.size();
-    }
-
-    QFuture<R> future()
-    {
-        futureInterface.reportStarted();
-        return futureInterface.future();
-    }
-
-    void run()
-    {
-        QThreadPool::globalInstance()->releaseThread();
-        futureInterface.setProgressRange(0, maxProgress);
-        foreach (Class *object, objects) {
-            QFutureWatcher<R> *watcher = new QFutureWatcher<R>();
-            watchers.insert(object, watcher);
-            finished.insert(watcher, false);
-            connect(watcher, SIGNAL(finished()), this, SLOT(setFinished()));
-            connect(watcher, SIGNAL(progressRangeChanged(int,int)), this, SLOT(setProgressRange(int,int)));
-            connect(watcher, SIGNAL(progressValueChanged(int)), this, SLOT(setProgressValue(int)));
-            connect(watcher, SIGNAL(progressTextChanged(QString)), this, SLOT(setProgressText(QString)));
-            watcher->setFuture(QtConcurrent::run(fn, object));
-        }
-        selfWatcher = new QFutureWatcher<R>();
-        connect(selfWatcher, SIGNAL(canceled()), this, SLOT(cancelSelf()));
-        selfWatcher->setFuture(futureInterface.future());
-        loop = new QEventLoop;
-        loop->exec();
-        futureInterface.reportFinished();
-        QThreadPool::globalInstance()->reserveThread();
-        qDeleteAll(watchers.values());
-        delete selfWatcher;
-        delete loop;
-    }
-protected:
-    void cancelSelf()
-    {
-        foreach (QFutureWatcher<R> *watcher, watchers)
-            watcher->future().cancel();
-    }
-
-    void setFinished()
-    {
-        updateProgress();
-        QFutureWatcher<R> *watcher = static_cast<QFutureWatcher<R> *>(sender());
-        if (finished.contains(watcher))
-            finished[watcher] = true;
-        bool allFinished = true;
-        const QList<bool> finishedValues = finished.values();
-        foreach (bool isFinished, finishedValues) {
-            if (!isFinished) {
-                allFinished = false;
-                break;
-            }
-        }
-        if (allFinished)
-            loop->quit();
-    }
-
-    void setProgressRange(int min, int max)
-    {
-        Q_UNUSED(min)
-        Q_UNUSED(max)
-        updateProgress();
-    }
-
-    void setProgressValue(int value)
-    {
-        Q_UNUSED(value)
-        updateProgress();
-    }
-
-    void setProgressText(QString value)
-    {
-        Q_UNUSED(value)
-        updateProgressText();
-    }
-private:
-    void updateProgress()
-    {
-        int progressSum = 0;
-        const QList<QFutureWatcher<R> *> watchersValues = watchers.values();
-        foreach (QFutureWatcher<R> *watcher, watchersValues) {
-            if (watcher->progressMinimum() == watcher->progressMaximum()) {
-                if (watcher->future().isFinished() && !watcher->future().isCanceled())
-                    progressSum += 100;
-            } else {
-                progressSum += 100*(watcher->progressValue()-watcher->progressMinimum())/(watcher->progressMaximum()-watcher->progressMinimum());
-            }
-        }
-        futureInterface.setProgressValue(progressSum);
-    }
-
-    void updateProgressText()
-    {
-        QString text;
-        const QList<QFutureWatcher<R> *> watchersValues = watchers.values();
-        foreach (QFutureWatcher<R> *watcher, watchersValues) {
-            if (!watcher->progressText().isEmpty())
-                text += watcher->progressText() + "\n";
-        }
-        text = text.trimmed();
-        futureInterface.setProgressValueAndText(futureInterface.progressValue(), text);
-    }
-
-    QFutureInterface<R> futureInterface;
-    void (Class::*fn)(QFutureInterface<R> &);
-    QList<Class *> objects;
-
-    QFutureWatcher<R> *selfWatcher;
-    QMap<Class *, QFutureWatcher<R> *> watchers;
-    QMap<QFutureWatcher<R> *, bool> finished;
-    QEventLoop *loop;
-    int maxProgress;
-};
-
-template <typename Class, typename T>
-QFuture<T> run(void (Class::*fn)(QFutureInterface<T> &), const QList<Class *> &objects, int priority = 0)
-{
-    MultiTask<Class, T> *task = new MultiTask<Class, T>(fn, objects);
-    QFuture<T> future = task->future();
-    QThreadPool::globalInstance()->start(task, priority);
-    return future;
-}
-
-} // namespace QtConcurrent
-
-QT_END_NAMESPACE
-
-#endif // MULTITASK_H
diff --git a/libs/qtconcurrent/qtconcurrent.pri b/libs/qtconcurrent/qtconcurrent.pri
deleted file mode 100644
index 57929a4..0000000
--- a/libs/qtconcurrent/qtconcurrent.pri
+++ /dev/null
@@ -1 +0,0 @@
-LIBS *= -l$$qtLibraryTarget(QtConcurrent)
diff --git a/libs/qtconcurrent/qtconcurrent.pro b/libs/qtconcurrent/qtconcurrent.pro
deleted file mode 100644
index ef29d91..0000000
--- a/libs/qtconcurrent/qtconcurrent.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-TEMPLATE = lib
-TARGET = QtConcurrent
-DEFINES += BUILD_QTCONCURRENT
-
-include(../../openpilotgcslibrary.pri)
-
-HEADERS += \
-    qtconcurrent_global.h \
-    multitask.h \
-    runextensions.h
diff --git a/libs/qtconcurrent/qtconcurrent_global.h b/libs/qtconcurrent/qtconcurrent_global.h
deleted file mode 100644
index ba8c071..0000000
--- a/libs/qtconcurrent/qtconcurrent_global.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- ******************************************************************************
- *
- * @file       qtconcurrent_global.h
- * @author     The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
- *             Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
- * @brief      
- * @see        The GNU Public License (GPL) Version 3
- * @defgroup   
- * @{
- * 
- *****************************************************************************/
-/* 
- * 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; either version 3 of the License, or 
- * (at your option) any later version.
- * 
- * 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
- */
-
-#ifndef QTCONCURRENT_GLOBAL_H
-#define QTCONCURRENT_GLOBAL_H
-
-#include <QtCore/qglobal.h>
-
-#if defined(BUILD_QTCONCURRENT)
-#  define QTCONCURRENT_EXPORT Q_DECL_EXPORT
-#else
-#  define QTCONCURRENT_EXPORT Q_DECL_IMPORT
-#endif
-
-#endif // QTCONCURRENT_GLOBAL_H
diff --git a/libs/qtconcurrent/runextensions.h b/libs/qtconcurrent/runextensions.h
deleted file mode 100644
index 96f5c7d..0000000
--- a/libs/qtconcurrent/runextensions.h
+++ /dev/null
@@ -1,393 +0,0 @@
-/**
- ******************************************************************************
- *
- * @file       runextensions.h
- * @author     The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
- *             Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
- * @brief      
- * @see        The GNU Public License (GPL) Version 3
- * @defgroup   
- * @{
- * 
- *****************************************************************************/
-/* 
- * 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; either version 3 of the License, or 
- * (at your option) any later version.
- * 
- * 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
- */
-
-#ifndef QTCONCURRENT_RUNEX_H
-#define QTCONCURRENT_RUNEX_H
-
-#include <qrunnable.h>
-#include <qfutureinterface.h>
-#include <qthreadpool.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace QtConcurrent {
-
-template <typename T,  typename FunctionPointer>
-class StoredInterfaceFunctionCall0 : public QRunnable
-{
-public:
-    StoredInterfaceFunctionCall0(void (fn)(QFutureInterface<T> &))
-    : fn(fn) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        fn(futureInterface);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-
-};
-template <typename T,  typename FunctionPointer, typename Class>
-class StoredInterfaceMemberFunctionCall0 : public QRunnable
-{
-public:
-    StoredInterfaceMemberFunctionCall0(void (Class::*fn)(QFutureInterface<T> &), Class *object)
-    : fn(fn), object(object) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        (object->*fn)(futureInterface);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Class *object;
-
-};
-
-template <typename T,  typename FunctionPointer, typename Arg1>
-class StoredInterfaceFunctionCall1 : public QRunnable
-{
-public:
-    StoredInterfaceFunctionCall1(void (fn)(QFutureInterface<T> &, Arg1), Arg1 arg1)
-    : fn(fn), arg1(arg1) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        fn(futureInterface, arg1);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Arg1 arg1;
-};
-template <typename T,  typename FunctionPointer, typename Class, typename Arg1>
-class StoredInterfaceMemberFunctionCall1 : public QRunnable
-{
-public:
-    StoredInterfaceMemberFunctionCall1(void (Class::*fn)(QFutureInterface<T> &, Arg1), Class *object, Arg1 arg1)
-    : fn(fn), object(object), arg1(arg1) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        (object->*fn)(futureInterface, arg1);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Class *object;
-    Arg1 arg1;
-};
-
-template <typename T,  typename FunctionPointer, typename Arg1, typename Arg2>
-class StoredInterfaceFunctionCall2 : public QRunnable
-{
-public:
-    StoredInterfaceFunctionCall2(void (fn)(QFutureInterface<T> &, Arg1, Arg2), Arg1 arg1, Arg2 arg2)
-    : fn(fn), arg1(arg1), arg2(arg2) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        fn(futureInterface, arg1, arg2);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Arg1 arg1; Arg2 arg2;
-};
-template <typename T,  typename FunctionPointer, typename Class, typename Arg1, typename Arg2>
-class StoredInterfaceMemberFunctionCall2 : public QRunnable
-{
-public:
-    StoredInterfaceMemberFunctionCall2(void (Class::*fn)(QFutureInterface<T> &, Arg1, Arg2), Class *object, Arg1 arg1, Arg2 arg2)
-    : fn(fn), object(object), arg1(arg1), arg2(arg2) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        (object->*fn)(futureInterface, arg1, arg2);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Class *object;
-    Arg1 arg1; Arg2 arg2;
-};
-
-template <typename T,  typename FunctionPointer, typename Arg1, typename Arg2, typename Arg3>
-class StoredInterfaceFunctionCall3 : public QRunnable
-{
-public:
-    StoredInterfaceFunctionCall3(void (fn)(QFutureInterface<T> &, Arg1, Arg2, Arg3), Arg1 arg1, Arg2 arg2, Arg3 arg3)
-    : fn(fn), arg1(arg1), arg2(arg2), arg3(arg3) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        fn(futureInterface, arg1, arg2, arg3);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Arg1 arg1; Arg2 arg2; Arg3 arg3;
-};
-template <typename T,  typename FunctionPointer, typename Class, typename Arg1, typename Arg2, typename Arg3>
-class StoredInterfaceMemberFunctionCall3 : public QRunnable
-{
-public:
-    StoredInterfaceMemberFunctionCall3(void (Class::*fn)(QFutureInterface<T> &, Arg1, Arg2, Arg3), Class *object, Arg1 arg1, Arg2 arg2, Arg3 arg3)
-    : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        (object->*fn)(futureInterface, arg1, arg2, arg3);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Class *object;
-    Arg1 arg1; Arg2 arg2; Arg3 arg3;
-};
-
-template <typename T,  typename FunctionPointer, typename Arg1, typename Arg2, typename Arg3, typename Arg4>
-class StoredInterfaceFunctionCall4 : public QRunnable
-{
-public:
-    StoredInterfaceFunctionCall4(void (fn)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4), Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4)
-    : fn(fn), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        fn(futureInterface, arg1, arg2, arg3, arg4);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4;
-};
-template <typename T,  typename FunctionPointer, typename Class, typename Arg1, typename Arg2, typename Arg3, typename Arg4>
-class StoredInterfaceMemberFunctionCall4 : public QRunnable
-{
-public:
-    StoredInterfaceMemberFunctionCall4(void (Class::*fn)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4), Class *object, Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4)
-    : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        (object->*fn)(futureInterface, arg1, arg2, arg3, arg4);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Class *object;
-    Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4;
-};
-
-template <typename T,  typename FunctionPointer, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5>
-class StoredInterfaceFunctionCall5 : public QRunnable
-{
-public:
-    StoredInterfaceFunctionCall5(void (fn)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4, Arg5), Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5)
-    : fn(fn), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        fn(futureInterface, arg1, arg2, arg3, arg4, arg5);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5;
-};
-template <typename T,  typename FunctionPointer, typename Class, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5>
-class StoredInterfaceMemberFunctionCall5 : public QRunnable
-{
-public:
-    StoredInterfaceMemberFunctionCall5(void (Class::*fn)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4, Arg5), Class *object, Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5)
-    : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5) { }
-
-    QFuture<T> start()
-    {
-        futureInterface.reportStarted();
-        QFuture<T> future = futureInterface.future();
-        QThreadPool::globalInstance()->start(this);
-        return future;
-    }
-
-    void run()
-    {
-        (object->*fn)(futureInterface, arg1, arg2, arg3, arg4, arg5);
-        futureInterface.reportFinished();
-    }
-private:
-    QFutureInterface<T> futureInterface;
-    FunctionPointer fn;
-    Class *object;
-    Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5;
-};
-
-template <typename T>
-QFuture<T> run(void (*functionPointer)(QFutureInterface<T> &))
-{
-    return (new StoredInterfaceFunctionCall0<T, void (*)(QFutureInterface<T> &)>(functionPointer))->start();
-}
-template <typename T, typename Arg1>
-QFuture<T> run(void (*functionPointer)(QFutureInterface<T> &, Arg1), Arg1 arg1)
-{
-    return (new StoredInterfaceFunctionCall1<T, void (*)(QFutureInterface<T> &, Arg1), Arg1>(functionPointer, arg1))->start();
-}
-template <typename T, typename Arg1, typename Arg2>
-QFuture<T> run(void (*functionPointer)(QFutureInterface<T> &, Arg1, Arg2), Arg1 arg1, Arg2 arg2)
-{
-    return (new StoredInterfaceFunctionCall2<T, void (*)(QFutureInterface<T> &, Arg1, Arg2), Arg1, Arg2>(functionPointer, arg1, arg2))->start();
-}
-template <typename T, typename Arg1, typename Arg2, typename Arg3>
-QFuture<T> run(void (*functionPointer)(QFutureInterface<T> &, Arg1, Arg2, Arg3), Arg1 arg1, Arg2 arg2, Arg3 arg3)
-{
-    return (new StoredInterfaceFunctionCall3<T, void (*)(QFutureInterface<T> &, Arg1, Arg2, Arg3), Arg1, Arg2, Arg3>(functionPointer, arg1, arg2, arg3))->start();
-}
-template <typename T, typename Arg1, typename Arg2, typename Arg3, typename Arg4>
-QFuture<T> run(void (*functionPointer)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4), Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4)
-{
-    return (new StoredInterfaceFunctionCall4<T, void (*)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4), Arg1, Arg2, Arg3, Arg4>(functionPointer, arg1, arg2, arg3, arg4))->start();
-}
-template <typename T, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5>
-QFuture<T> run(void (*functionPointer)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4, Arg5), Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5)
-{
-    return (new StoredInterfaceFunctionCall5<T, void (*)(QFutureInterface<T> &, Arg1, Arg2, Arg3, Arg4, Arg5), Arg1, Arg2, Arg3, Arg4, Arg5>(functionPointer, arg1, arg2, arg3, arg4, arg5))->start();
-}
-
-template <typename Class, typename T>
-QFuture<T> run(void (Class::*fn)(QFutureInterface<T> &), Class *object)
-{
-    return (new StoredInterfaceMemberFunctionCall0<T, void (Class::*)(QFutureInterface<T> &), Class>(fn, object))->start();
-}
-
-} // namespace QtConcurrent
-
-QT_END_NAMESPACE
-
-#endif // QTCONCURRENT_RUNEX_H