// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include "application-calendar/data/OptionParser.hpp" #include #include enum class AlarmSnooze { FiveMinutes = 5, TenMinutes = 10, FifteenMinutes = 15, ThirtyMinutes = 30 }; enum class AlarmOptionItemName { Sound, Snooze, Repeat }; enum class AlarmAction { Add, Edit }; enum class WeekDayIso { Monday = date::Monday.iso_encoding() - 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; class AlarmRecordData : public gui::SwitchData { protected: std::shared_ptr record; public: explicit AlarmRecordData(std::shared_ptr record) : record{std::move(record)} {} std::shared_ptr getData() { return record; } void setData(std::shared_ptr rec) { record = std::move(rec); } }; class CustomRepeatValueParser { std::unique_ptr weekDayData; public: explicit CustomRepeatValueParser(uint32_t repeatValue); [[nodiscard]] std::string getWeekDaysText() const; [[nodiscard]] bool isCustomValueWeekDays() const; [[nodiscard]] bool isCustomValueEveryday() const; };