radioapp/radiouiengine/inc/radioscannerengine.h
branchRCL_3
changeset 45 cce62ebc198e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/radioapp/radiouiengine/inc/radioscannerengine.h	Tue Aug 31 15:15:02 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* 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 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.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