1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace schedule 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class DayOfWeek{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous Monday, 13853c0dc5SEd Tanous Tuesday, 14853c0dc5SEd Tanous Wednesday, 15853c0dc5SEd Tanous Thursday, 16853c0dc5SEd Tanous Friday, 17853c0dc5SEd Tanous Saturday, 18853c0dc5SEd Tanous Sunday, 19853c0dc5SEd Tanous Every, 20853c0dc5SEd Tanous }; 21853c0dc5SEd Tanous 22853c0dc5SEd Tanous enum class MonthOfYear{ 23853c0dc5SEd Tanous Invalid, 24853c0dc5SEd Tanous January, 25853c0dc5SEd Tanous February, 26853c0dc5SEd Tanous March, 27853c0dc5SEd Tanous April, 28853c0dc5SEd Tanous May, 29853c0dc5SEd Tanous June, 30853c0dc5SEd Tanous July, 31853c0dc5SEd Tanous August, 32853c0dc5SEd Tanous September, 33853c0dc5SEd Tanous October, 34853c0dc5SEd Tanous November, 35853c0dc5SEd Tanous December, 36853c0dc5SEd Tanous Every, 37853c0dc5SEd Tanous }; 38853c0dc5SEd Tanous 39853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DayOfWeek, { 40853c0dc5SEd Tanous {DayOfWeek::Invalid, "Invalid"}, 41853c0dc5SEd Tanous {DayOfWeek::Monday, "Monday"}, 42853c0dc5SEd Tanous {DayOfWeek::Tuesday, "Tuesday"}, 43853c0dc5SEd Tanous {DayOfWeek::Wednesday, "Wednesday"}, 44853c0dc5SEd Tanous {DayOfWeek::Thursday, "Thursday"}, 45853c0dc5SEd Tanous {DayOfWeek::Friday, "Friday"}, 46853c0dc5SEd Tanous {DayOfWeek::Saturday, "Saturday"}, 47853c0dc5SEd Tanous {DayOfWeek::Sunday, "Sunday"}, 48853c0dc5SEd Tanous {DayOfWeek::Every, "Every"}, 49853c0dc5SEd Tanous }); 50853c0dc5SEd Tanous 51853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MonthOfYear, { 52853c0dc5SEd Tanous {MonthOfYear::Invalid, "Invalid"}, 53853c0dc5SEd Tanous {MonthOfYear::January, "January"}, 54853c0dc5SEd Tanous {MonthOfYear::February, "February"}, 55853c0dc5SEd Tanous {MonthOfYear::March, "March"}, 56853c0dc5SEd Tanous {MonthOfYear::April, "April"}, 57853c0dc5SEd Tanous {MonthOfYear::May, "May"}, 58853c0dc5SEd Tanous {MonthOfYear::June, "June"}, 59853c0dc5SEd Tanous {MonthOfYear::July, "July"}, 60853c0dc5SEd Tanous {MonthOfYear::August, "August"}, 61853c0dc5SEd Tanous {MonthOfYear::September, "September"}, 62853c0dc5SEd Tanous {MonthOfYear::October, "October"}, 63853c0dc5SEd Tanous {MonthOfYear::November, "November"}, 64853c0dc5SEd Tanous {MonthOfYear::December, "December"}, 65853c0dc5SEd Tanous {MonthOfYear::Every, "Every"}, 66853c0dc5SEd Tanous }); 67853c0dc5SEd Tanous 68853c0dc5SEd Tanous } 69853c0dc5SEd Tanous // clang-format on 70