+++ /dev/null
-#ifndef _INTERNAL_ALARM_PROVIDER_STUB_H_
-#define _INTERNAL_ALARM_PROVIDER_STUB_H_
-
-#include "Model/AlarmProvider.h"
-
-namespace internal {
- class AlarmProviderStub : public model::AlarmProvider
- {
- public:
- std::vector<std::reference_wrapper<model::Alarm>> GetAlarms();
- model::Alarm* GetAlarmWithId(model::AlarmId id);
- void Add(model::Alarm& alarm);
- void Remove(model::Alarm& alarm);
- AlarmProviderStub(utils::IReader &r);
- void Serialize(utils::IWriter &w) const {}
- private:
- std::vector<model::Alarm> alarms;
- };
-} /* internal */
-
-#endif
+++ /dev/null
-#include "Internal/AlarmProviderStub.h"
-#include "Model/Alarm.h"
-#include "Utils/Time.h"
-
-#include <algorithm>
-
-using namespace internal;
-using namespace model;
-using namespace utils;
-
-AlarmProviderStub::AlarmProviderStub(IReader &r)
-{
- Alarm a;
-
- a.SetName("Wake up lazy bastard");
- a.SetTime(Time(7, 0, 0));
- a.SetWeekFlags(WeekFlags(WeekDay::ALL_WEEK));
- a.EnableSnooze();
- a.Activate();
- alarms.push_back(a);
-
- a.SetName("Mechanic");
- a.SetTime(Time(8, 30, 0));
- a.DisableSnooze();
- a.Deactivate();
- alarms.push_back(a);
-
- a.SetName("Job Appointment");
- a.SetTime(Time(20, 14, 0));
- a.DisableSnooze();
- a.Activate();
- alarms.push_back(a);
-
- a.SetName("Visit grandma");
- a.SetTime(Time(16, 18, 32));
- a.SetWeekFlags(WeekFlags(WeekDay::MONDAY | WeekDay::WEDNESDAY | WeekDay::FRIDAY));
- a.EnableSnooze();
- a.Activate();
- alarms.push_back(a);
-
- a.SetName("Take a pill!");
- a.SetTime(Time(1, 22, 0));
- a.SetWeekFlags(WeekFlags(WeekDay::ALL_WEEK));
- a.EnableSnooze();
- a.Activate();
- alarms.push_back(a);
-}
-
-std::vector<std::reference_wrapper<Alarm>> AlarmProviderStub::GetAlarms()
-{
- return std::vector<std::reference_wrapper<Alarm>>(alarms.begin(), alarms.end());
-}
-
-void AlarmProviderStub::Add(Alarm& alarm)
-{
- alarms.push_back(alarm);
-}
-
-void AlarmProviderStub::Remove(Alarm& alarm)
-{
- for (auto it = alarms.begin(); it != alarms.end(); ++it) {
- if (std::addressof(*it) == std::addressof(alarm)) {
- alarms.erase(it);
- break;
- }
- }
-}
-
-Alarm* AlarmProviderStub::GetAlarmWithId(AlarmId id)
-{
- auto it = std::find(alarms.begin(), alarms.end(), id);
-
- if (it != alarms.end()) {
- return &(*it);
- }
- return nullptr;
-}
-