00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef KRADIO_RADIODEVICE_INTERFACES_H
00031 #define KRADIO_RADIODEVICE_INTERFACES_H
00032
00033 #ifdef HAVE_CONFIG_H
00034 #include <config.h>
00035 #endif
00036
00037 #include "soundstreamid.h"
00038 #include "interfaces.h"
00039
00040 class RadioStation;
00041 class KURL;
00042
00043 INTERFACE(IRadioDevice, IRadioDeviceClient)
00044 {
00045 public:
00046 IF_CON_DESTRUCTOR(IRadioDevice, -1)
00047
00048 RECEIVERS:
00049 IF_RECEIVER( setPower(bool on) )
00050 IF_RECEIVER( powerOn() )
00051 IF_RECEIVER( powerOff() )
00052 IF_RECEIVER( activateStation(const RadioStation &rs) )
00053
00054 SENDERS:
00055 IF_SENDER ( notifyPowerChanged(bool on) )
00056 IF_SENDER ( notifyStationChanged (const RadioStation &) )
00057 IF_SENDER ( notifyDescriptionChanged (const QString &) )
00058 IF_SENDER ( notifyCurrentSoundStreamIDChanged(SoundStreamID id))
00059
00060 ANSWERS:
00061 IF_ANSWER ( bool isPowerOn() const );
00062 IF_ANSWER ( bool isPowerOff() const );
00063 IF_ANSWER ( const RadioStation & getCurrentStation() const );
00064 IF_ANSWER ( const QString & getDescription() const );
00065
00066 IF_ANSWER ( SoundStreamID getCurrentSoundStreamID() const );
00067 };
00068
00069
00070
00071 INTERFACE(IRadioDeviceClient, IRadioDevice)
00072 {
00073 public :
00074 IF_CON_DESTRUCTOR(IRadioDeviceClient, 1);
00075 IRadioDeviceClient(int _maxConnections) : IRadioDeviceClient::BaseClass(_maxConnections) {}
00076
00077 SENDERS:
00078 IF_SENDER ( sendPower(bool on) )
00079 IF_SENDER ( sendPowerOn() )
00080 IF_SENDER ( sendPowerOff() )
00081 IF_SENDER ( sendActivateStation (const RadioStation &rs) )
00082
00083 RECEIVERS:
00084 IF_RECEIVER( noticePowerChanged (bool on, const IRadioDevice *sender = NULL) )
00085 IF_RECEIVER( noticeStationChanged (const RadioStation &, const IRadioDevice *sender = NULL) )
00086 IF_RECEIVER( noticeDescriptionChanged (const QString &, const IRadioDevice *sender = NULL) )
00087 IF_RECEIVER( noticeCurrentSoundStreamIDChanged(SoundStreamID id, const IRadioDevice *sender = NULL))
00088
00089 QUERIES:
00090 IF_QUERY ( bool queryIsPowerOn() )
00091 IF_QUERY ( bool queryIsPowerOff() )
00092 IF_QUERY ( const RadioStation & queryCurrentStation() )
00093 IF_QUERY ( const QString & queryDescription() )
00094
00095 IF_QUERY ( SoundStreamID queryCurrentSoundStreamID() )
00096
00097 RECEIVERS:
00098 virtual void noticeConnectedI (cmplInterface *, bool pointer_valid);
00099 virtual void noticeDisconnectedI (cmplInterface *, bool pointer_valid);
00100 };
00101
00102
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00189 INTERFACE(ISeekRadio, ISeekRadioClient)
00190 {
00191 friend class SeekHelper;
00192
00193 public :
00194 IF_CON_DESTRUCTOR(ISeekRadio, -1)
00195
00196 RECEIVERS:
00197 IF_RECEIVER( toBeginning() )
00198 IF_RECEIVER( toEnd() )
00199 IF_RECEIVER( startSeek (bool up) )
00200 IF_RECEIVER( startSeekUp() )
00201 IF_RECEIVER( startSeekDown() )
00202 IF_RECEIVER( stopSeek() )
00203
00204 SENDERS:
00205 IF_SENDER ( notifySeekStarted (bool up) )
00206 IF_SENDER ( notifySeekStopped () )
00207 IF_SENDER ( notifySeekFinished (const RadioStation &s, bool goodQuality) )
00208 IF_SENDER ( notifyProgress (float f) )
00209
00210 ANSWERS:
00211 IF_ANSWER ( bool isSeekRunning() const )
00212 IF_ANSWER ( bool isSeekUpRunning() const )
00213 IF_ANSWER ( bool isSeekDownRunning() const )
00214 IF_ANSWER ( float getProgress () const )
00215 };
00216
00217
00218 INTERFACE(ISeekRadioClient, ISeekRadio)
00219 {
00220 public :
00221 IF_CON_DESTRUCTOR(ISeekRadioClient, 1)
00222
00223 SENDERS:
00224 IF_SENDER ( sendToBeginning() )
00225 IF_SENDER ( sendToEnd() )
00226 IF_SENDER ( sendStartSeek (bool up) )
00227 IF_SENDER ( sendStartSeekUp() )
00228 IF_SENDER ( sendStartSeekDown() )
00229 IF_SENDER ( sendStopSeek() )
00230
00231 RECEIVERS:
00232 IF_RECEIVER( noticeSeekStarted (bool up) )
00233 IF_RECEIVER( noticeSeekStopped () )
00234 IF_RECEIVER( noticeSeekFinished (const RadioStation &s, bool goodQuality) )
00235 IF_RECEIVER( noticeProgress (float f) )
00236
00237 QUERIES:
00238 IF_QUERY ( bool queryIsSeekRunning() )
00239 IF_QUERY ( bool queryIsSeekUpRunning() )
00240 IF_QUERY ( bool queryIsSeekDownRunning() )
00241 IF_QUERY ( float queryProgress () )
00242
00243 RECEIVERS:
00244 virtual void noticeConnectedI (cmplInterface *, bool pointer_valid);
00245 virtual void noticeDisconnectedI (cmplInterface *, bool pointer_valid);
00246 };
00247
00248
00249
00251
00252 INTERFACE(IFrequencyRadio, IFrequencyRadioClient)
00253 {
00254 public :
00255 IF_CON_DESTRUCTOR(IFrequencyRadio, -1)
00256
00257 RECEIVERS:
00258 IF_RECEIVER( setFrequency(float f) )
00259 IF_RECEIVER( setMinFrequency(float mf) )
00260 IF_RECEIVER( setMaxFrequency(float mf) )
00261 IF_RECEIVER( setScanStep(float s) )
00262
00263 SENDERS:
00264 IF_SENDER ( notifyFrequencyChanged(float f, const RadioStation *s) )
00265 IF_SENDER ( notifyMinMaxFrequencyChanged(float min, float max) )
00266 IF_SENDER ( notifyDeviceMinMaxFrequencyChanged(float min, float max) )
00267 IF_SENDER ( notifyScanStepChanged(float s) )
00268
00269 ANSWERS:
00270 IF_ANSWER ( float getFrequency() const )
00271 IF_ANSWER ( float getMinFrequency() const )
00272 IF_ANSWER ( float getMinDeviceFrequency() const )
00273 IF_ANSWER ( float getMaxFrequency() const )
00274 IF_ANSWER ( float getMaxDeviceFrequency() const )
00275 IF_ANSWER ( float getScanStep() const )
00276 };
00277
00278
00279 INTERFACE(IFrequencyRadioClient, IFrequencyRadio)
00280 {
00281 public :
00282 IF_CON_DESTRUCTOR(IFrequencyRadioClient, 1)
00283
00284 SENDERS:
00285 IF_SENDER ( sendFrequency(float f) )
00286 IF_SENDER ( sendMinFrequency(float mf) )
00287 IF_SENDER ( sendMaxFrequency(float mf) )
00288 IF_SENDER ( sendScanStep(float s) )
00289
00290 RECEIVERS:
00291 IF_RECEIVER( noticeFrequencyChanged(float f, const RadioStation *s) )
00292 IF_RECEIVER( noticeMinMaxFrequencyChanged(float min, float max) )
00293 IF_RECEIVER( noticeDeviceMinMaxFrequencyChanged(float min, float max) )
00294 IF_RECEIVER( noticeScanStepChanged(float s) )
00295
00296 QUERIES:
00297 IF_QUERY ( float queryFrequency() )
00298 IF_QUERY ( float queryMinFrequency() )
00299 IF_QUERY ( float queryMinDeviceFrequency() )
00300 IF_QUERY ( float queryMaxFrequency() )
00301 IF_QUERY ( float queryMaxDeviceFrequency() )
00302 IF_QUERY ( float queryScanStep() )
00303
00304 RECEIVERS:
00305 virtual void noticeConnectedI (cmplInterface *, bool pointer_valid);
00306 virtual void noticeDisconnectedI (cmplInterface *, bool pointer_valid);
00307 };
00308
00309
00311
00312 INTERFACE(IInternetRadio, IInternetRadioClient)
00313 {
00314 public :
00315 IF_CON_DESTRUCTOR(IInternetRadio, -1)
00316
00317 RECEIVERS:
00318 IF_RECEIVER( setURL(const KURL &url) )
00319
00320 SENDERS:
00321 IF_SENDER ( notifyURLChanged(const KURL &u) )
00322
00323 ANSWERS:
00324 IF_ANSWER ( const KURL & getURL() const )
00325 };
00326
00327
00328
00329
00330 INTERFACE(IInternetRadioClient, IInternetRadio)
00331 {
00332 public :
00333 IF_CON_DESTRUCTOR(IInternetRadioClient, 1)
00334
00335
00336 SENDERS:
00337 IF_SENDER ( sendURL(const KURL &url) )
00338
00339 RECEIVERS:
00340 IF_RECEIVER( noticeURLChanged(const KURL &url) )
00341
00342 QUERIES:
00343 IF_QUERY ( const KURL &queryURL() )
00344
00345 RECEIVERS:
00346 virtual void noticeConnectedI (cmplInterface *, bool pointer_valid);
00347 virtual void noticeDisconnectedI (cmplInterface *, bool pointer_valid);
00348 };
00349
00350
00351
00352 #endif
00353