/** 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 <QScopedPointer>#include <QMap>// User includes#include "radiouiengineexport.h"// Forward declarationsclass RadioScannerEnginePrivate;class RadioUiEnginePrivate;class RadioStationHandlerIf;class RadioStation;// Constants// Class declarationclass UI_ENGINE_DLL_EXPORT RadioScannerEngine : public QObject { Q_OBJECT Q_DECLARE_PRIVATE_D( d_ptr.data(), 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(); /*! * Checks if the scanning is ongoing */ bool isScanning() const; /*! * 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 */ const QScopedPointer<RadioScannerEnginePrivate> d_ptr; };#endif // RADIOSCANNERENGINE_H