kradio4  r778
alarm.h
Go to the documentation of this file.
1 /***************************************************************************
2  alarm.h - description
3  -------------------
4  begin : Mon Feb 4 2002
5  copyright : (C) 2002 by Martin Witte / Frank Schwanz
6  email : emw-kradio@nocabal.de / schwanz@fh-brandenburg.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef KRADIO_ALARM_H
19 #define KRADIO_ALARM_H
20 
21 #ifdef HAVE_CONFIG_H
22 #include <config.h>
23 #endif
24 
25 #include <QtCore/QDateTime>
26 #include <QtCore/QVector>
27 #include <kdemacros.h>
28 
33 class KDE_EXPORT Alarm
34 {
35 public:
36 
37  enum AlarmType { StartPlaying, StopPlaying, StartRecording, StopRecording };
38 
39 protected:
40  QDateTime m_time;
41 
42  bool m_daily;
44 
45  bool m_enabled;
46  QString m_stationID;
47  float m_volumePreset; // < 0: disabled
48 
51 
52  int m_ID;
53 
54  static int m_LastID;
55 
56 public:
57  Alarm();
58  Alarm(const QDateTime &time, bool daily, bool enabled);
59  Alarm(const Alarm &);
60  ~Alarm();
61 
62  bool isEnabled() const { return m_enabled; }
63  bool isDaily() const { return m_daily; }
64  int weekdayMask() const { return m_weekdayMask; }
65  QDateTime alarmTime () const { return m_time; }
66  QDateTime nextAlarm (bool ignoreEnable = false) const;
67  const QString &stationID () const { return m_stationID; }
68  float volumePreset () const { return m_volumePreset; }
69  AlarmType alarmType() const { return m_type; }
70  const QString &recordingTemplate() const { return m_recordingTemplate; }
71 
72  int ID() const { return m_ID; }
73 
74  void setEnabled (bool enable = true) { m_enabled = enable; }
75  void setDaily (bool d = true) { m_daily = d; }
76  void setWeekdayMask(int m = 0x7F) { m_weekdayMask = m; }
77  void setDate (const QDate &d) { m_time.setDate(d); }
78  void setTime (const QTime &d) { m_time.setTime(d); }
79  void setVolumePreset(float v) { m_volumePreset = v; }
80  void setStationID(const QString &id) { m_stationID = id; }
81  void setAlarmType(AlarmType t) { m_type = t; }
82  void setRecordingTemplate(const QString & t) { m_recordingTemplate = t; }
83 
84 
85  bool operator == (const Alarm &x) const {
86  return
87  m_time == x.m_time &&
88  m_daily == x.m_daily &&
89  m_weekdayMask == x.m_weekdayMask &&
90  m_enabled == x.m_enabled &&
91  m_stationID == x.m_stationID &&
92  m_volumePreset == x.m_volumePreset &&
93  m_type == x.m_type &&
94  m_recordingTemplate == x.m_recordingTemplate &&
95  m_ID == x.m_ID;
96  }
97  bool operator != (const Alarm &x) const { return ! operator == (x); }
98 
99 };
100 
101 //using namespace std;
102 
103 typedef QVector<Alarm> AlarmVector;
104 typedef AlarmVector::iterator iAlarmVector;
105 typedef AlarmVector::const_iterator ciAlarmVector;
106 
107 
108 
109 #endif
QDateTime m_time
Definition: alarm.h:40
QString m_stationID
Definition: alarm.h:46
int ID() const
Definition: alarm.h:72
float volumePreset() const
Definition: alarm.h:68
Definition: alarm.h:33
void setDaily(bool d=true)
Definition: alarm.h:75
const QString & recordingTemplate() const
Definition: alarm.h:70
bool m_daily
Definition: alarm.h:42
int m_ID
Definition: alarm.h:52
int m_weekdayMask
Definition: alarm.h:43
AlarmVector::const_iterator ciAlarmVector
Definition: alarm.h:105
bool isEnabled() const
Definition: alarm.h:62
AlarmType alarmType() const
Definition: alarm.h:69
int weekdayMask() const
Definition: alarm.h:64
QDateTime alarmTime() const
Definition: alarm.h:65
void setWeekdayMask(int m=0x7F)
Definition: alarm.h:76
void setAlarmType(AlarmType t)
Definition: alarm.h:81
const QString & stationID() const
Definition: alarm.h:67
void setTime(const QTime &d)
Definition: alarm.h:78
AlarmType
Definition: alarm.h:37
void setDate(const QDate &d)
Definition: alarm.h:77
QString m_recordingTemplate
Definition: alarm.h:50
void setStationID(const QString &id)
Definition: alarm.h:80
AlarmVector::iterator iAlarmVector
Definition: alarm.h:104
static int m_LastID
Definition: alarm.h:54
AlarmType m_type
Definition: alarm.h:49
bool m_enabled
Definition: alarm.h:45
void setRecordingTemplate(const QString &t)
Definition: alarm.h:82
void setEnabled(bool enable=true)
Definition: alarm.h:74
float m_volumePreset
Definition: alarm.h:47
QVector< Alarm > AlarmVector
Definition: alarm.h:103
bool isDaily() const
Definition: alarm.h:63
void setVolumePreset(float v)
Definition: alarm.h:79