summaryrefslogtreecommitdiffstats
path: root/tderadio3/src/alarm.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-02-01 17:25:34 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-02-01 17:25:34 -0600
commit48906a623383ab5222541ae048e99dd039b62a9a (patch)
tree1c5f588e90899bb1301f79cf97b8f6ddc0b1c367 /tderadio3/src/alarm.cpp
parenta1e6ce502c334194d31a0b78b11b77e9532da64b (diff)
downloadtderadio-48906a623383ab5222541ae048e99dd039b62a9a.tar.gz
tderadio-48906a623383ab5222541ae048e99dd039b62a9a.zip
Fix FTBFS
Diffstat (limited to 'tderadio3/src/alarm.cpp')
-rw-r--r--tderadio3/src/alarm.cpp82
1 files changed, 82 insertions, 0 deletions
diff --git a/tderadio3/src/alarm.cpp b/tderadio3/src/alarm.cpp
new file mode 100644
index 0000000..475d48b
--- /dev/null
+++ b/tderadio3/src/alarm.cpp
@@ -0,0 +1,82 @@
+/***************************************************************************
+ alarm.cpp - description
+ -------------------
+ begin : Mon Feb 4 2002
+ copyright : (C) 2002 by Martin Witte / Frank Schwanz
+ email : witte@kawo1.rwth-aachen.de / schwanz@fh-brandenburg.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/alarm.h"
+
+int Alarm::m_LastID = 0;
+
+Alarm::Alarm(const TQDateTime &time, bool daily, bool enabled)
+ : m_time (time),
+ m_daily (daily),
+ m_weekdayMask (0x7F),
+ m_enabled (enabled),
+ m_stationID (TQString()),
+ m_volumePreset (-1),
+ m_type (StartPlaying),
+ m_ID (++m_LastID)
+{
+}
+
+
+Alarm::Alarm ()
+ : m_time (TQDateTime (TQDate(1800, 1,1), TQTime(0,0,0))),
+ m_daily (false),
+ m_weekdayMask (0x7F),
+ m_enabled (false),
+ m_stationID (TQString()),
+ m_volumePreset(-1),
+ m_type (StartPlaying),
+ m_ID (++m_LastID)
+{
+}
+
+
+Alarm::Alarm (const Alarm &a)
+ : m_time (a.m_time),
+ m_daily (a.m_daily),
+ m_weekdayMask (a.m_weekdayMask),
+ m_enabled (a.m_enabled),
+ m_stationID (a.m_stationID),
+ m_volumePreset(a.m_volumePreset),
+ m_type (a.m_type),
+ m_ID (a.m_ID)
+{
+}
+
+
+Alarm::~Alarm()
+{
+}
+
+
+TQDateTime Alarm::nextAlarm(bool ignoreEnable) const
+{
+ TQDateTime now = TQDateTime::currentDateTime(),
+ alarm = m_time;
+ if (m_daily) {
+ alarm.setDate (now.date());
+ if (alarm <= now)
+ alarm = alarm.addDays(1);
+ while (m_weekdayMask &&
+ !(m_weekdayMask & (1 << (alarm.date().dayOfWeek()-1))))
+ {
+ alarm = alarm.addDays(1);
+ }
+ }
+ return (m_enabled || ignoreEnable) && (!m_daily || m_weekdayMask) ? alarm : TQDateTime();
+}
+
+