controlpanelui/src/cpcategorymodel/src/cptaskexecutor.cpp
branchRCL_3
changeset 35 5f281e37a2f5
parent 34 90fe62538f66
child 46 ed95320285d0
--- a/controlpanelui/src/cpcategorymodel/src/cptaskexecutor.cpp	Tue Aug 31 15:15:28 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +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 "cptaskexecutor.h"
-#include <QMutexLocker>
-#include <QDebug>
-#include <QtAlgorithms>
-#include <QPointer>
-
-static QPointer<CpTaskExecutor> g_instance;
-
-CpTaskExecutor *CpTaskExecutor::globalInstance()
-{
-    if (!g_instance) {
-        g_instance = new CpTaskExecutor();
-    }
-    return g_instance.data();
-}
-    
-void CpTaskExecutor::destroyGlobalInstance()
-{
-    delete g_instance.data();
-}
-
-CpTaskExecutor::CpTaskExecutor(QObject *parent /*=0*/) 
-: QThread(parent), mStopped(false)
-{
-}
-
-CpTaskExecutor::~CpTaskExecutor()
-{
-    stop();
-}
-
-bool CpTaskExecutor::runTask(CpTask *task,bool append /*= false*/)
-{
-    if (mStopped) {
-        if (isRunning()) {
-            qDebug() << "thread in stopping process...can not run task.\r\n";
-            return false;
-        }
-        mStopped = false;
-    }
-
-    if (task) {
-        {
-            QMutexLocker locker(&mMutex);
-            if (append) {
-                mTasks.append(task);
-            }
-            else {
-                mTasks.insert(0,task);
-            }
-        }
-
-        if (!isRunning()) {
-            qDebug() << "isRunning() == false, call start()\r\n";
-            start();
-        }
-    }
-
-    return true;
-}
-
-void CpTaskExecutor::stop()
-{
-    if (!mStopped && isRunning() ) {
-       mStopped = true;
-       removeTasks();
-       wait(); //wait for finished
-    }
-}
-
-void CpTaskExecutor::removeTasks()
-{
-    QMutexLocker locker(&mMutex);
-    
-    QList<CpTask*>::const_iterator begin(mTasks.begin());
-    QList<CpTask*>::const_iterator end(mTasks.end());
-    for (; begin != end; ++begin) {
-        if ((*begin)->autoDelete()) {
-            delete (*begin);
-        }
-    }
-
-    mTasks.clear();
-}
-
-void CpTaskExecutor::run()
-{
-    while (!mStopped) {
-        CpTask *task = 0;
-        {
-            QMutexLocker locker(&mMutex);
-            if (mTasks.isEmpty()) {
-                break;
-            }
-            task = mTasks.takeFirst();
-        }
-        try {
-            task->execute(&mStopped);
-            task->complete(&mStopped);
-        }catch(...) {
-            qDebug() << "excetion occur when running task\r\n";           
-        }
-
-        if (task->autoDelete()) {
-            delete task;
-        }
-    }
-}
-
-bool CpTaskExecutor::toFront(CpTask *task)
-{
-    QMutexLocker locker(&mMutex);
-    QList<CpTask*>::iterator foundIterator = ::qFind(mTasks.begin(),mTasks.end(),task);
-    if (foundIterator == mTasks.end()) {
-        return false;
-    }
-    
-    mTasks.erase(foundIterator);
-    mTasks.insert(0,task);
-
-    return true;
-}
-
-//End of File