1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace job 7 { 8 // clang-format off 9 10 enum class JobState{ 11 Invalid, 12 New, 13 Starting, 14 Running, 15 Suspended, 16 Interrupted, 17 Pending, 18 Stopping, 19 Completed, 20 Cancelled, 21 Exception, 22 Service, 23 UserIntervention, 24 Continue, 25 }; 26 27 NLOHMANN_JSON_SERIALIZE_ENUM(JobState, { 28 {JobState::Invalid, "Invalid"}, 29 {JobState::New, "New"}, 30 {JobState::Starting, "Starting"}, 31 {JobState::Running, "Running"}, 32 {JobState::Suspended, "Suspended"}, 33 {JobState::Interrupted, "Interrupted"}, 34 {JobState::Pending, "Pending"}, 35 {JobState::Stopping, "Stopping"}, 36 {JobState::Completed, "Completed"}, 37 {JobState::Cancelled, "Cancelled"}, 38 {JobState::Exception, "Exception"}, 39 {JobState::Service, "Service"}, 40 {JobState::UserIntervention, "UserIntervention"}, 41 {JobState::Continue, "Continue"}, 42 }); 43 44 } 45 // clang-format on 46