| /* |
| * |
| * Copyright (c) 2022 Project CHIP Authors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // THIS FILE IS GENERATED BY ZAP |
| // This file is generated from clusters-Enums-Check.h.zapt |
| |
| #pragma once |
| |
| #include <clusters/Thermostat/Enums.h> |
| |
| namespace chip { |
| namespace app { |
| namespace Clusters { |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ACCapacityFormatEnum val) |
| { |
| using EnumType = Thermostat::ACCapacityFormatEnum; |
| switch (val) |
| { |
| case EnumType::kBTUh: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ACCompressorTypeEnum val) |
| { |
| using EnumType = Thermostat::ACCompressorTypeEnum; |
| switch (val) |
| { |
| case EnumType::kUnknown: |
| case EnumType::kT1: |
| case EnumType::kT2: |
| case EnumType::kT3: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ACLouverPositionEnum val) |
| { |
| using EnumType = Thermostat::ACLouverPositionEnum; |
| switch (val) |
| { |
| case EnumType::kClosed: |
| case EnumType::kOpen: |
| case EnumType::kQuarter: |
| case EnumType::kHalf: |
| case EnumType::kThreeQuarters: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ACRefrigerantTypeEnum val) |
| { |
| using EnumType = Thermostat::ACRefrigerantTypeEnum; |
| switch (val) |
| { |
| case EnumType::kUnknown: |
| case EnumType::kR22: |
| case EnumType::kR410a: |
| case EnumType::kR407c: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ACTypeEnum val) |
| { |
| using EnumType = Thermostat::ACTypeEnum; |
| switch (val) |
| { |
| case EnumType::kUnknown: |
| case EnumType::kCoolingFixed: |
| case EnumType::kHeatPumpFixed: |
| case EnumType::kCoolingInverter: |
| case EnumType::kHeatPumpInverter: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ControlSequenceOfOperationEnum val) |
| { |
| using EnumType = Thermostat::ControlSequenceOfOperationEnum; |
| switch (val) |
| { |
| case EnumType::kCoolingOnly: |
| case EnumType::kCoolingWithReheat: |
| case EnumType::kHeatingOnly: |
| case EnumType::kHeatingWithReheat: |
| case EnumType::kCoolingAndHeating: |
| case EnumType::kCoolingAndHeatingWithReheat: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::PresetScenarioEnum val) |
| { |
| using EnumType = Thermostat::PresetScenarioEnum; |
| switch (val) |
| { |
| case EnumType::kOccupied: |
| case EnumType::kUnoccupied: |
| case EnumType::kSleep: |
| case EnumType::kWake: |
| case EnumType::kVacation: |
| case EnumType::kGoingToSleep: |
| case EnumType::kUserDefined: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::SetpointChangeSourceEnum val) |
| { |
| using EnumType = Thermostat::SetpointChangeSourceEnum; |
| switch (val) |
| { |
| case EnumType::kManual: |
| case EnumType::kSchedule: |
| case EnumType::kExternal: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::SetpointRaiseLowerModeEnum val) |
| { |
| using EnumType = Thermostat::SetpointRaiseLowerModeEnum; |
| switch (val) |
| { |
| case EnumType::kHeat: |
| case EnumType::kCool: |
| case EnumType::kBoth: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::StartOfWeekEnum val) |
| { |
| using EnumType = Thermostat::StartOfWeekEnum; |
| switch (val) |
| { |
| case EnumType::kSunday: |
| case EnumType::kMonday: |
| case EnumType::kTuesday: |
| case EnumType::kWednesday: |
| case EnumType::kThursday: |
| case EnumType::kFriday: |
| case EnumType::kSaturday: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::SystemModeEnum val) |
| { |
| using EnumType = Thermostat::SystemModeEnum; |
| switch (val) |
| { |
| case EnumType::kOff: |
| case EnumType::kAuto: |
| case EnumType::kCool: |
| case EnumType::kHeat: |
| case EnumType::kEmergencyHeat: |
| case EnumType::kPrecooling: |
| case EnumType::kFanOnly: |
| case EnumType::kDry: |
| case EnumType::kSleep: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::TemperatureSetpointHoldEnum val) |
| { |
| using EnumType = Thermostat::TemperatureSetpointHoldEnum; |
| switch (val) |
| { |
| case EnumType::kSetpointHoldOff: |
| case EnumType::kSetpointHoldOn: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatRunningModeEnum val) |
| { |
| using EnumType = Thermostat::ThermostatRunningModeEnum; |
| switch (val) |
| { |
| case EnumType::kOff: |
| case EnumType::kCool: |
| case EnumType::kHeat: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| } // namespace Clusters |
| } // namespace app |
| } // namespace chip |