radiodevice_interfaces.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           radiodevice_interfaces.h  -  description
00003                              -------------------
00004     begin                : Fre Apr 18 2003
00005     copyright            : (C) 2003 by Martin Witte
00006     email                : witte@kawo1.rwth-aachen.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 /***************************************************************************
00019  *                                                                         *
00020  *   Interfaces in this header:                                            *
00021  *                                                                         *
00022  *   IRadioDevice(Client)                                                  *
00023  *   IRadioSound(Client)                                                   *
00024  *   ISeekRadio(Client)                                                    *
00025  *   IFrequencyRadio(Client)                                               *
00026  *   IInternetRadio(Client)                                                *
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 // deprecated, use IRadioSoundStreamClient
00105 /*
00106 INTERFACE(IRadioSound, IRadioSoundClient)
00107 {
00108 public :
00109     IF_CON_DESTRUCTOR(IRadioSound, -1)
00110 
00111 RECEIVERS:
00112     IF_RECEIVER(  setVolume (float v)                            )
00113     IF_RECEIVER(  setTreble (float v)                            )
00114     IF_RECEIVER(  setBass   (float v)                            )
00115     IF_RECEIVER(  setBalance (float v)                           )
00116     IF_RECEIVER(  mute (bool mute)                               )
00117     IF_RECEIVER(  unmute (bool unmute)                           )
00118     IF_RECEIVER(  setSignalMinQuality(float q)                   )
00119     IF_RECEIVER(  setStereo(bool s)                              )
00120 
00121 SENDERS:
00122     IF_SENDER  (  notifyVolumeChanged(float v)                   )
00123     IF_SENDER  (  notifyTrebleChanged(float v)                   )
00124     IF_SENDER  (  notifyBassChanged(float v)                     )
00125     IF_SENDER  (  notifyBalanceChanged(float v)                  )
00126     IF_SENDER  (  notifyMuted(bool m)                            )
00127     IF_SENDER  (  notifySignalQualityChanged(float q)            )
00128     IF_SENDER  (  notifySignalQualityBoolChanged(bool good)          )
00129     IF_SENDER  (  notifySignalMinQualityChanged(float q)         )
00130     IF_SENDER  (  notifyStereoChanged(bool  s)                   )
00131 
00132 ANSWERS:
00133     IF_ANSWER  (  float   getVolume() const                      )
00134     IF_ANSWER  (  float   getTreble() const                      )
00135     IF_ANSWER  (  float   getBass  () const                      )
00136     IF_ANSWER  (  float   getBalance () const                    )
00137     IF_ANSWER  (  bool    isMuted() const                        )
00138     IF_ANSWER  (  float   getSignalQuality() const               )
00139     IF_ANSWER  (  float   getSignalMinQuality() const            )
00140     IF_ANSWER  (  bool    hasGoodQuality() const                 )
00141     IF_ANSWER  (  bool    isStereo() const                       )
00142 };
00143 
00144 
00145 INTERFACE(IRadioSoundClient, IRadioSound)
00146 {
00147 public :
00148     IF_CON_DESTRUCTOR(IRadioSoundClient, 1)
00149 
00150 SENDERS:
00151     IF_SENDER  (  sendVolume  (float v)                          )
00152     IF_SENDER  (  sendTreble  (float v)                          )
00153     IF_SENDER  (  sendBass    (float v)                          )
00154     IF_SENDER  (  sendBalance (float v)                          )
00155     IF_SENDER  (  sendMute (bool mute = true)                    )
00156     IF_SENDER  (  sendUnmute (bool unmute = true)                )
00157     IF_SENDER  (  sendSignalMinQuality (float q)                 )
00158     IF_SENDER  (  sendStereo(bool s)                             )
00159 
00160 RECEIVERS:
00161     IF_RECEIVER(  noticeVolumeChanged(float v)                   )
00162     IF_RECEIVER(  noticeTrebleChanged(float v)                   )
00163     IF_RECEIVER(  noticeBassChanged(float v)                     )
00164     IF_RECEIVER(  noticeBalanceChanged(float v)                  )
00165     IF_RECEIVER(  noticeSignalQualityChanged(float q)            )
00166     IF_RECEIVER(  noticeSignalQualityChanged(bool good)          )
00167     IF_RECEIVER(  noticeSignalMinQualityChanged(float q)         )
00168     IF_RECEIVER(  noticeStereoChanged(bool  s)                   )
00169     IF_RECEIVER(  noticeMuted(bool m)                            )
00170 
00171 QUERIES:
00172     IF_QUERY   (  float   queryVolume()                          )
00173     IF_QUERY   (  float   queryTreble()                          )
00174     IF_QUERY   (  float   queryBass()                            )
00175     IF_QUERY   (  float   queryBalance ()                        )
00176     IF_QUERY   (  float   querySignalQuality()                   )
00177     IF_QUERY   (  float   querySignalMinQuality()                )
00178     IF_QUERY   (  bool    queryHasGoodQuality()                  )
00179     IF_QUERY   (  bool    queryIsStereo()                        )
00180     IF_QUERY   (  bool    queryIsMuted()                         )
00181 
00182 RECEIVERS:
00183     virtual void noticeConnectedI    (cmplInterface *, bool pointer_valid);
00184     virtual void noticeDisconnectedI (cmplInterface *, bool pointer_valid);
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 

Generated on Fri Jan 28 16:42:13 2011 for kradio by  doxygen 1.4.7