taskswitcherapp/tsapplication/inc/tstaskswitcher.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 14:54:01 +0300
changeset 36 cdae8c6c3876
parent 35 f9ce957a272c
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* 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:
*
*/

#ifndef TSTASKSWITCHER_H
#define TSTASKSWITCHER_H

#include <QObject>

class T_TsTaskSwitcher;

class QStateMachine;

/**
 * @ingroup group_tsapplication
 * @brief TaskSwitcher application main class.
 *
 * Loads a runtime from a runtime provider plugin. Manages
 * the runtime execution.
 *
 * @lib ?library
 * @since S60 ?S60_version
 */
 
class TsTaskSwitcher : public QObject
{
    Q_OBJECT

public:
    /**
     * Constructor.
     * @since S60 ?S60_version.
     * @param aParent Parent object.
     */
    TsTaskSwitcher(QObject* parent = 0);

private:

    Q_DISABLE_COPY(TsTaskSwitcher)

signals:
    /**
     * Emitted when the teleport application needs to exit.
     * @since S60 ?S60_version.
     */
    void exit();

public slots:
    /**
     * Starts the runtime.
     * @since S60 ?S60_version.
     */
    void start();

    /**
     * Stops the runtime.
     * @since S60 ?S60_version.
     */
    void stop();

private:
    /**
     * Runtime.
     */
    QStateMachine* mRuntime;

    friend class T_TsTaskSwitcher;
};

#endif // TSTASKSWITCHER_H