summaryrefslogtreecommitdiffstats
path: root/src/radio_interfaces.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/radio_interfaces.cpp')
-rw-r--r--src/radio_interfaces.cpp96
1 files changed, 96 insertions, 0 deletions
diff --git a/src/radio_interfaces.cpp b/src/radio_interfaces.cpp
new file mode 100644
index 0000000..b2bcf74
--- /dev/null
+++ b/src/radio_interfaces.cpp
@@ -0,0 +1,96 @@
+/***************************************************************************
+ radio_interfaces.cpp - description
+ -------------------
+ begin : Don Apr 17 2003
+ copyright : (C) 2003 by Martin Witte
+ email : witte@kawo1.rwth-aachen.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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());
+}
+