diff options
Diffstat (limited to 'tderadio3/src/radio_interfaces.cpp')
-rw-r--r-- | tderadio3/src/radio_interfaces.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/tderadio3/src/radio_interfaces.cpp b/tderadio3/src/radio_interfaces.cpp new file mode 100644 index 0000000..b2bcf74 --- /dev/null +++ b/tderadio3/src/radio_interfaces.cpp @@ -0,0 +1,96 @@ +/*************************************************************************** + radio_interfaces.cpp - description + ------------------- + begin : Don Apr 17 2003 + copyright : (C) 2003 by Martin Witte + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "include/radio_interfaces.h" +#include "include/stationlist.h" +#include "include/radiostation.h" + +// IRadio + +IF_IMPL_SENDER ( IRadio::notifyPowerChanged(bool on), + noticePowerChanged(on) ); +IF_IMPL_SENDER ( IRadio::notifyStationChanged (const RadioStation &s, int idx), + noticeStationChanged (s, idx) ); +IF_IMPL_SENDER ( IRadio::notifyStationsChanged(const StationList &sl), + noticeStationsChanged(sl) ); +IF_IMPL_SENDER ( IRadio::notifyPresetFileChanged(const TQString &f), + noticePresetFileChanged(f) ); +IF_IMPL_SENDER ( IRadio::notifyCurrentSoundStreamIDChanged(SoundStreamID id), + noticeCurrentSoundStreamIDChanged(id) ); + +// IRadioClient + +IF_IMPL_SENDER ( IRadioClient::sendPowerOn(), + powerOn() ); +IF_IMPL_SENDER ( IRadioClient::sendPowerOff(), + powerOff() ); +IF_IMPL_SENDER ( IRadioClient::sendActivateStation(const RadioStation &rs), + activateStation(rs) ); +IF_IMPL_SENDER ( IRadioClient::sendActivateStation(int index), + activateStation(index) ); +IF_IMPL_SENDER ( IRadioClient::sendStations(const StationList &sl), + setStations(sl) ); +IF_IMPL_SENDER ( IRadioClient::sendPresetFile(const TQString &f), + setPresetFile(f) ); + +IF_IMPL_QUERY ( bool IRadioClient::queryIsPowerOn(), + isPowerOn(), + false ); + +IF_IMPL_QUERY ( bool IRadioClient::queryIsPowerOff(), + isPowerOff(), + true ); + +IF_IMPL_QUERY ( const RadioStation & IRadioClient::queryCurrentStation(), + getCurrentStation(), + undefinedRadioStation ); + +IF_IMPL_QUERY ( int IRadioClient::queryCurrentStationIdx(), + getCurrentStationIdx(), + -1 ); + +IF_IMPL_QUERY ( int IRadioClient::queryStationIdx(const RadioStation &rs), + getStationIdx(rs), + -1 ); + +IF_IMPL_QUERY ( const StationList & IRadioClient::queryStations(), + getStations(), + emptyStationList ); + +static TQString emptyString; +IF_IMPL_QUERY ( const TQString & IRadioClient::queryPresetFile(), + getPresetFile(), + emptyString ); + +IF_IMPL_QUERY ( SoundStreamID IRadioClient::queryCurrentSoundStreamID(), + getCurrentSoundStreamID(), + SoundStreamID::InvalidID ); + +void IRadioClient::noticeConnectedI (cmplInterface *, bool /*pointer_valid*/) +{ + noticeStationsChanged(queryStations()); + noticeStationChanged (queryCurrentStation(), queryCurrentStationIdx()); + noticePowerChanged (queryIsPowerOn()); +} + +void IRadioClient::noticeDisconnectedI (cmplInterface *, bool /*pointer_valid*/) +{ + noticeStationsChanged(queryStations()); + noticeStationChanged(queryCurrentStation(), queryCurrentStationIdx()); + noticePowerChanged(queryIsPowerOn()); +} + |