-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAlarm.cpp
More file actions
33 lines (31 loc) · 1.08 KB
/
Alarm.cpp
File metadata and controls
33 lines (31 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
// Created by seraf on 18.03.2021.
//
#include "Alarm.h"
DateTime getAlarmDate(int hour, int min){
DateTime currentTime;
DateTime aux(hour, min, currentTime.getYear(), currentTime.getMon(), currentTime.getDay());
if( (hour < currentTime.getHour()) || (hour == currentTime.getHour() && min < currentTime.getMinute()) )
aux.addDay();
return aux;
}
Alarm::Alarm(int hour, int min, std::string msg, bool recurrent): time(getAlarmDate(hour, min)), message(msg), recurrent(recurrent){}
Alarm::Alarm(const Alarm& A): time(A.time), message(A.message), recurrent(A.recurrent){}
Alarm::Alarm(DateTime time, std::string msg, bool recurrent): time(time), message(msg), recurrent(recurrent){}
bool Alarm::isRecurrent(){
return recurrent;
}
void Alarm::setMessage(std::string message){
this -> message = message;
}
void Alarm::setRecurrence(bool recurrence){
recurrent = recurrence;
}
std::ostream &operator<<(std::ostream& out, Alarm &A){
out << A.message << "\n" ;
A.time.printHour(std::cout);
return out;
}
DateTime Alarm::getTime(){
return this -> time;
}