radioapp/radiouiengine/inc/radiomonitorservice.h
changeset 19 afea38384506
parent 16 f54ebcfc1b80
child 37 451b2e1545b2
--- a/radioapp/radiouiengine/inc/radiomonitorservice.h	Mon May 03 12:31:41 2010 +0300
+++ b/radioapp/radiouiengine/inc/radiomonitorservice.h	Fri May 14 15:52:32 2010 +0300
@@ -23,44 +23,56 @@
 
 // User includes
 #include "radioservicedef.h"
+#include "radioenginewrapperobserver.h"
 
 // Forward declarations
-class RadioUiEngine;
+class RadioUiEnginePrivate;
+class RadioStation;
 
 class RadioMonitorService : public XQServiceProvider
+                          , public RadioEngineWrapperObserver
 {
     Q_OBJECT
 
 public:
 
-    RadioMonitorService( RadioUiEngine& engine );
+    RadioMonitorService( RadioUiEnginePrivate& engine );
     virtual ~RadioMonitorService();
 
-    void notifyFavoriteCount( const int favoriteCount );
-    void notifyAntennaStatus( bool connected );
-    void notifyRadioStatus( RadioStatus::Status radioStatus );
-    void notifyFrequency( const uint frequency );
-    void notifyName( const QString& name );
-    void notifyGenre( const QString& genre );
-    void notifyRadioText( const QString& radioText );
-    void notifyHomePage( const QString& homePage );
+    void init();
+
     void notifySong( const QString& song );
 
 public slots:
 
-    void requestNotifications();
-    void requestAllData();
+    void requestNotifications();    // Slot called by Qt Highway
+    void requestAllData();          // Slot called by Qt Highway
+
+private slots:
+
+    void notifyRadioStatus();
+    void notifyFavoriteCount();
+    void notifyStationChange( const RadioStation& station );
 
 private:
     
+// from base class RadioEngineWrapperObserver
+
+    void tunedToFrequency( uint frequency, int reason );
+
+// New functions
+
+    RadioStatus::Status determineRadioStatus() const;
     void notify( const QVariant& notification );
     void notifyList( const QVariantList& list );
     
 private: // data
 
-    RadioUiEngine&  mUiEngine;
+    RadioUiEnginePrivate&   mUiEngine;
+
+    QList<int>              mRequestIndexes;
     
-    QList<int>      mRequestIndexes;
+    RadioStatus::Status     mRadioStatus;
 
 };