/*************************************************************************** timecontrol_interfaces.cpp - description ------------------- begin : Mon Mär 10 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/timecontrol_interfaces.h" static AlarmVector emptyAlarms; // ITimeControl IF_IMPL_SENDER ( ITimeControl::notifyAlarmsChanged(const AlarmVector &sl), noticeAlarmsChanged(sl) ) IF_IMPL_SENDER ( ITimeControl::notifyAlarm(const Alarm &a), noticeAlarm(a) ) IF_IMPL_SENDER ( ITimeControl::notifyNextAlarmChanged(const Alarm *a), noticeNextAlarmChanged(a) ) IF_IMPL_SENDER ( ITimeControl::notifyCountdownStarted(const TQDateTime &end), noticeCountdownStarted(end) ) IF_IMPL_SENDER ( ITimeControl::notifyCountdownStopped(), noticeCountdownStopped() ) IF_IMPL_SENDER ( ITimeControl::notifyCountdownZero(), noticeCountdownZero() ) IF_IMPL_SENDER ( ITimeControl::notifyCountdownSecondsChanged(int n), noticeCountdownSecondsChanged(n) ) // ITimeControlClient IF_IMPL_SENDER ( ITimeControlClient::sendAlarms(const AlarmVector &sl), setAlarms(sl) ) IF_IMPL_SENDER ( ITimeControlClient::sendCountdownSeconds(int n), setCountdownSeconds(n) ) IF_IMPL_SENDER ( ITimeControlClient::sendStartCountdown(), startCountdown() ) IF_IMPL_SENDER ( ITimeControlClient::sendStopCountdown(), stopCountdown() ) IF_IMPL_QUERY ( TQDateTime ITimeControlClient::queryNextAlarmTime (), getNextAlarmTime(), TQDateTime() ) IF_IMPL_QUERY ( const Alarm * ITimeControlClient::queryNextAlarm (), getNextAlarm(), NULL ) IF_IMPL_QUERY ( const AlarmVector &ITimeControlClient::queryAlarms (), getAlarms(), emptyAlarms ) IF_IMPL_QUERY ( int ITimeControlClient::queryCountdownSeconds (), getCountdownSeconds(), 30*60 ) IF_IMPL_QUERY ( TQDateTime ITimeControlClient::queryCountdownEnd (), getCountdownEnd(), TQDateTime() ) void ITimeControlClient::noticeConnectedI(cmplInterface *, bool /*pointer_valid*/) { noticeAlarmsChanged(queryAlarms()); noticeNextAlarmChanged(queryNextAlarm()); TQDateTime end = queryCountdownEnd(); if (end > TQDateTime::currentDateTime()) noticeCountdownStarted(end); else noticeCountdownStopped(); } void ITimeControlClient::noticeDisconnectedI(cmplInterface *, bool /*pointer_valid*/) { noticeAlarmsChanged(queryAlarms()); noticeNextAlarmChanged(queryNextAlarm()); TQDateTime end = queryCountdownEnd(); if (end > TQDateTime::currentDateTime()) noticeCountdownStarted(end); else noticeCountdownStopped(); }