|
|
|
|
/***************************************************************************
|
|
|
|
|
timecontrol_interfaces.cpp - description
|
|
|
|
|
-------------------
|
|
|
|
|
begin : Mon M<EFBFBD>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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|