1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace schedule 7 { 8 // clang-format off 9 10 enum class DayOfWeek{ 11 Invalid, 12 Monday, 13 Tuesday, 14 Wednesday, 15 Thursday, 16 Friday, 17 Saturday, 18 Sunday, 19 Every, 20 }; 21 22 enum class MonthOfYear{ 23 Invalid, 24 January, 25 February, 26 March, 27 April, 28 May, 29 June, 30 July, 31 August, 32 September, 33 October, 34 November, 35 December, 36 Every, 37 }; 38 39 NLOHMANN_JSON_SERIALIZE_ENUM(DayOfWeek, { 40 {DayOfWeek::Invalid, "Invalid"}, 41 {DayOfWeek::Monday, "Monday"}, 42 {DayOfWeek::Tuesday, "Tuesday"}, 43 {DayOfWeek::Wednesday, "Wednesday"}, 44 {DayOfWeek::Thursday, "Thursday"}, 45 {DayOfWeek::Friday, "Friday"}, 46 {DayOfWeek::Saturday, "Saturday"}, 47 {DayOfWeek::Sunday, "Sunday"}, 48 {DayOfWeek::Every, "Every"}, 49 }); 50 51 NLOHMANN_JSON_SERIALIZE_ENUM(MonthOfYear, { 52 {MonthOfYear::Invalid, "Invalid"}, 53 {MonthOfYear::January, "January"}, 54 {MonthOfYear::February, "February"}, 55 {MonthOfYear::March, "March"}, 56 {MonthOfYear::April, "April"}, 57 {MonthOfYear::May, "May"}, 58 {MonthOfYear::June, "June"}, 59 {MonthOfYear::July, "July"}, 60 {MonthOfYear::August, "August"}, 61 {MonthOfYear::September, "September"}, 62 {MonthOfYear::October, "October"}, 63 {MonthOfYear::November, "November"}, 64 {MonthOfYear::December, "December"}, 65 {MonthOfYear::Every, "Every"}, 66 }); 67 68 } 69 // clang-format on 70