searchui/Searchapplication/src/Search.cpp
author Pat Downey <patd@symbian.org>
Wed, 23 Jun 2010 17:22:18 +0100
changeset 8 2f67eb14d003
parent 2 208a4ba3894c
permissions -rw-r--r--
Merge heads.

/*
 * 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:  Search application main class.
 *
 */

#include "search.h"
#include <qstatemachine.h>
#include <searchruntimeprovider.h>
#include <searchruntime.h>

// ---------------------------------------------------------------------------
// Search::Search
// ---------------------------------------------------------------------------
//
Search::Search(QObject* aParent) :
    QObject(aParent), mRuntime(NULL)
    {
    SEARCH_FUNC_ENTRY("SEARCH::Search::Search");

    SearchRuntimeProvider *interface = new SearchRuntimeProvider();
    mRuntime = interface->createPlugin();
    if (mRuntime)
        {
        mRuntime->setParent(this);
        connect(mRuntime, SIGNAL(started()), SLOT(handleRuntimeStarted()));
        connect(mRuntime, SIGNAL(stopped()), SLOT(handleRuntimeStopped()));
        connect(mRuntime, SIGNAL(faulted()), SLOT(handleRuntimeFaulted()));
        } 
		SEARCH_FUNC_EXIT("SEARCH::Search::Search");
    }

// ---------------------------------------------------------------------------
// Search::~Search()
// ---------------------------------------------------------------------------
//
Search::~Search()
    {
    if (mRuntime)
        {
        disconnect(mRuntime, SIGNAL(started()), this,
                SLOT(handleRuntimeStarted()));
        disconnect(mRuntime, SIGNAL(stopped()), this,
                SLOT(handleRuntimeStopped()));
        disconnect(mRuntime, SIGNAL(faulted()), this,
                SLOT(handleRuntimeFaulted()));

        delete mRuntime;
        }
    }

// ---------------------------------------------------------------------------
// Search::start()
// ---------------------------------------------------------------------------
//
void Search::start()
    {
    SEARCH_FUNC_ENTRY("SEARCH::Search::start");

    if (mRuntime)
        {
        mRuntime->start();
        }
    else
        {
        emit exit();
        }

    SEARCH_FUNC_EXIT("SEARCH::Search::start");
    }

// ---------------------------------------------------------------------------
// Search::stop()
// ---------------------------------------------------------------------------
//
void Search::stop()
    {
    SEARCH_FUNC_ENTRY("SEARCH::Search::stop");
    if (mRuntime)
        {
        mRuntime->stop();
        }

    SEARCH_FUNC_EXIT("SEARCH::Search::stop");
    }

// ---------------------------------------------------------------------------
// Search::handleRuntimeStarted()
// ---------------------------------------------------------------------------
//
void Search::handleRuntimeStarted()
    {
    }

// ---------------------------------------------------------------------------
// Search::handleRuntimeStopped()
// ---------------------------------------------------------------------------
//
void Search::handleRuntimeStopped()
    {
    emit exit();
    }

// ---------------------------------------------------------------------------
// Search::handleRuntimeFaulted()
// ---------------------------------------------------------------------------
//
void Search::handleRuntimeFaulted()
    {
    emit exit();
    }