radioapp/radiouiengine/inc/radioscannerengine.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:31:41 +0300
changeset 16 f54ebcfc1b80
child 19 afea38384506
permissions -rw-r--r--
Revision: 201015 Kit: 201018

/*
* 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 RADIOSCANNERENGINE_H
#define RADIOSCANNERENGINE_H

// System includes
#include <QObject>
#include <QMap>

// User includes
#include "radiouiengineexport.h"

// Forward declarations
class RadioScannerEnginePrivate;
class RadioUiEnginePrivate;
class RadioStationHandlerIf;
class RadioStation;

// Constants

// Class declaration
class UI_ENGINE_DLL_EXPORT RadioScannerEngine : public QObject
    {
    Q_OBJECT
    Q_DECLARE_PRIVATE_D( d_ptr, RadioScannerEngine )
    Q_DISABLE_COPY( RadioScannerEngine )

    friend class RadioUiEngine;
    
public:

    explicit RadioScannerEngine( RadioUiEnginePrivate& uiEngine );
    ~RadioScannerEngine();

// New functions

    /*!
     * Starts the scanning from minimum frequency
     */
    void startScanning();

    /*!
     * Continues the scanning upwards from current frequency
     */
    void continueScanning();

    /*!
     * Cancels the scanning process
     */
    void cancel();

    /*!
     * Adds a new station that was found
     * @param frequency Frequency of the found station
     */
    void addScannedFrequency( const uint frequency );

signals:

    void stationFound( const RadioStation& station );

private:

    void emitStationFound( const RadioStation& station );

private: // data

    /**
     * Unmodifiable pointer to the private implementation
     */
    RadioScannerEnginePrivate* const d_ptr;

    };

#endif // RADIOSCANNERENGINE_H