26 // Constants |
26 // Constants |
27 /** Radio service name. */ |
27 /** Radio service name. */ |
28 const QString KRadioServiceName = "com.nokia.services.Radio"; |
28 const QString KRadioServiceName = "com.nokia.services.Radio"; |
29 /** Radio control interface name. */ |
29 /** Radio control interface name. */ |
30 const QString KRadioServiceControlInterfaceName = "IRadioControl"; |
30 const QString KRadioServiceControlInterfaceName = "IRadioControl"; |
31 /** Radio monitor interface name. */ |
31 /** Radio control operation name. */ |
32 const QString KRadioServiceControlOperation = "command(int)"; |
32 const QString KRadioServiceControlOperation = "command(int)"; |
33 /** Radio monitor interface name. */ |
33 /** Radio monitor interface name. */ |
34 const QString KRadioServiceMonitorInterfaceName = "IRadioMonitor"; |
34 const QString KRadioServiceMonitorInterfaceName = "IRadioMonitor"; |
35 /** Radio monitor interface name. */ |
35 /** Radio monitor operation name. */ |
36 const QString KRadioServiceMonitorOperation = "requestNotifications()"; |
36 const QString KRadioServiceMonitorOperation = "requestNotifications()"; |
37 /** Radio refresh operation name. */ |
37 /** Radio refresh operation name. */ |
38 const QString KRadioServiceRefreshOperation = "requestAllData()"; |
38 const QString KRadioServiceRefreshOperation = "requestAllData()"; |
39 |
39 |
40 class FmRadioHsWidgetRadioServiceClient : public QObject |
40 class FmRadioHsWidgetRadioServiceClient : public QObject |
41 { |
41 { |
42 Q_OBJECT |
42 Q_OBJECT |
43 |
43 |
44 public: |
44 public: |
45 FmRadioHsWidgetRadioServiceClient(QObject *parent = 0); |
45 explicit FmRadioHsWidgetRadioServiceClient(QObject *parent = 0); |
46 virtual ~FmRadioHsWidgetRadioServiceClient(); |
46 virtual ~FmRadioHsWidgetRadioServiceClient(); |
47 |
47 |
48 enum FmRadioStartupState |
48 // Enum for station changing command. |
|
49 enum FmRadioStationChangeCommand |
49 { |
50 { |
50 StartForeground, |
51 PreviousFavouriteStation, |
51 StartBackground |
52 NextFavouriteStation |
52 }; |
53 }; |
53 enum FmRadioChannelChangeCommand |
54 |
54 { |
55 // Enum for type of radio information. |
55 PreviousFavouriteChannel, |
|
56 NextFavouriteChannel |
|
57 }; |
|
58 enum FmRadioAudioControlCommand |
|
59 { |
|
60 Mute, |
|
61 Unmute |
|
62 }; |
|
63 enum FmRadioInformationType |
56 enum FmRadioInformationType |
64 { |
57 { |
65 InformationTypeStationName, |
58 InformationTypeStationName, |
66 InformationTypeCallSign, |
59 InformationTypeCallSign, |
67 InformationTypeFrequency, |
60 InformationTypeFrequency, |
68 InformationTypeRt, |
61 InformationTypeRt, |
69 InformationTypeDynamicPsName, |
62 InformationTypeDynamicPsName, |
70 InformationTypePty |
63 InformationTypePty |
71 }; |
64 }; |
|
65 |
|
66 // Enum for controlling the visibility of the radio application. |
72 enum FmRadioVisibilty |
67 enum FmRadioVisibilty |
73 { |
68 { |
74 DoNotChange, |
69 DoNotChange, |
75 ToForeground, |
70 ToForeground, |
76 ToBackground |
71 ToBackground |
77 }; |
72 }; |
78 |
73 |
79 void init(); |
|
80 |
|
81 signals: |
74 signals: |
82 void radioInformationChanged(int notificationId, QVariant value); |
75 void radioInformationChanged(const int notificationId, |
83 void radioStateChanged(QVariant value); |
76 const QVariant &value); |
|
77 void radioStateChanged(const QVariant &value); |
84 |
78 |
85 public slots: |
79 public slots: |
86 void doChangeFmRadioVisibility(FmRadioVisibilty visibility); |
80 void doCloseFmRadio(); |
87 void test(); |
81 void doPowerOnFmRadio(); |
88 void doChangeFmRadioChannel(FmRadioChannelChangeCommand command); |
82 void doChangeFmRadioVisibility(const FmRadioVisibilty visibility); |
89 void doControlFmRadioAudio(FmRadioAudioControlCommand command); |
83 void doChangeFmRadioStation(const FmRadioStationChangeCommand command); |
90 void handleFmRadioInformationChange(const QVariant& value); |
84 void handleFmRadioInformationChange(const QVariant &value); |
91 void handleFmRadioStateChange(QVariant& value); |
85 void handleFmRadioStateChange(const QVariant &value); |
92 void startMonitoring(FmRadioVisibilty visibility); |
86 void startMonitoring(const FmRadioVisibilty visibility); |
93 void stopMonitoring(); |
87 void stopMonitoring(); |
94 |
88 |
95 protected slots: |
89 protected slots: |
96 void requestCompleted(const QVariant& value); |
|
97 |
90 |
98 private slots: |
91 private slots: |
99 //void handleOk(const QVariant &result); |
92 void handleError(const int errorCode, const QString &errorMessage); |
100 void handleError(int errorCode, const QString& errorMessage); |
93 void handleRequestError(const int error); |
101 void handleRequestError(int error); |
|
102 |
94 |
103 void createControlServiceRequest(); |
95 void createControlServiceRequest(); |
104 void createMonitorServiceRequest(); |
96 void createMonitorServiceRequest(); |
105 |
97 |
106 void doSendMonitorRequest(FmRadioVisibilty visibility); |
98 void doSendMonitorRequest(const FmRadioVisibilty visibility); |
107 void doSendControlRequest(QVariant &argument, FmRadioVisibilty visibility); |
99 void doSendControlRequest(const QVariant &argument, |
|
100 const FmRadioVisibilty visibility); |
108 |
101 |
109 void prepareRequestInfo(XQAiwRequest *request, FmRadioVisibilty visibility); |
102 void prepareRequestInfo(XQAiwRequest *request, |
|
103 const FmRadioVisibilty visibility); |
110 |
104 |
111 private: // data |
105 private: // data |
112 bool mRequestPending; |
106 bool mRequestPending; |
113 XQApplicationManager mApplicationManager; |
107 XQApplicationManager mApplicationManager; |
114 XQAiwRequest* mRadioMonitorRequest; |
108 XQAiwRequest* mRadioMonitorRequest; |
115 XQAiwRequest* mRadioControlRequest; |
109 XQAiwRequest* mRadioControlRequest; |
116 |
110 |
117 bool mDataInitialized; |
111 bool mDataInitialized; |
118 |
|
119 }; |
112 }; |
120 |
113 |
121 #endif /* FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ */ |
114 #endif /* FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ */ |