blob: a56e91bd7e7ebeb530bf38dffa8188d81f01c5b6 [file] [log] [blame]
/*
*
* 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
#pragma once
#include <app-common/zap-generated/cluster-enums.h>
namespace chip {
namespace app {
namespace Clusters {
static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::IdentifyEffectIdentifier val)
{
using EnumType = Identify::IdentifyEffectIdentifier;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kBlink:
case EnumType::kBreathe:
case EnumType::kOkay:
case EnumType::kChannelChange:
case EnumType::kFinishEffect:
case EnumType::kStopEffect:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_BLINK:
case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_BREATHE:
case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_OKAY:
case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_CHANNEL_CHANGE:
case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_FINISH_EFFECT:
case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_STOP_EFFECT:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::IdentifyEffectVariant val)
{
using EnumType = Identify::IdentifyEffectVariant;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kDefault:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_IDENTIFY_EFFECT_VARIANT_DEFAULT:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(1);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::IdentifyIdentifyType val)
{
using EnumType = Identify::IdentifyIdentifyType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kNone:
case EnumType::kVisibleLight:
case EnumType::kVisibleLED:
case EnumType::kAudibleBeep:
case EnumType::kDisplay:
case EnumType::kActuator:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_NONE:
case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_VISIBLE_LIGHT:
case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_VISIBLE_LED:
case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_AUDIBLE_BEEP:
case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_DISPLAY:
case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_ACTUATOR:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffDelayedAllOffEffectVariant val)
{
using EnumType = OnOff::OnOffDelayedAllOffEffectVariant;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kFadeToOffIn0p8Seconds:
case EnumType::kNoFade:
case EnumType::k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_FADE_TO_OFF_IN_0P8_SECONDS:
case EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_NO_FADE:
case EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_50_PERCENT_DIM_DOWN_IN_0P8_SECONDS_THEN_FADE_TO_OFF_IN_12_SECONDS:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffDyingLightEffectVariant val)
{
using EnumType = OnOff::OnOffDyingLightEffectVariant;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_ON_OFF_DYING_LIGHT_EFFECT_VARIANT_20_PERCENTER_DIM_UP_IN_0P5_SECONDS_THEN_FADE_TO_OFF_IN_1_SECOND:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(1);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffEffectIdentifier val)
{
using EnumType = OnOff::OnOffEffectIdentifier;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kDelayedAllOff:
case EnumType::kDyingLight:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_ON_OFF_EFFECT_IDENTIFIER_DELAYED_ALL_OFF:
case EMBER_ZCL_ON_OFF_EFFECT_IDENTIFIER_DYING_LIGHT:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffStartUpOnOff val)
{
using EnumType = OnOff::OnOffStartUpOnOff;
switch (val)
{
case EnumType::kOff:
case EnumType::kOn:
case EnumType::kTogglePreviousOnOff:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(LevelControl::MoveMode val)
{
using EnumType = LevelControl::MoveMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_MOVE_MODE_UP:
case EMBER_ZCL_MOVE_MODE_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(LevelControl::StepMode val)
{
using EnumType = LevelControl::StepMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_STEP_MODE_UP:
case EMBER_ZCL_STEP_MODE_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::AuthMode val)
{
using EnumType = AccessControl::AuthMode;
switch (val)
{
case EnumType::kPase:
case EnumType::kCase:
case EnumType::kGroup:
return val;
default:
return static_cast<EnumType>(0);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::ChangeTypeEnum val)
{
using EnumType = AccessControl::ChangeTypeEnum;
switch (val)
{
case EnumType::kChanged:
case EnumType::kAdded:
case EnumType::kRemoved:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::Privilege val)
{
using EnumType = AccessControl::Privilege;
switch (val)
{
case EnumType::kView:
case EnumType::kProxyView:
case EnumType::kOperate:
case EnumType::kManage:
case EnumType::kAdminister:
return val;
default:
return static_cast<EnumType>(0);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Actions::ActionErrorEnum val)
{
using EnumType = Actions::ActionErrorEnum;
switch (val)
{
case EnumType::kUnknown:
case EnumType::kInterrupted:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Actions::ActionStateEnum val)
{
using EnumType = Actions::ActionStateEnum;
switch (val)
{
case EnumType::kInactive:
case EnumType::kActive:
case EnumType::kPaused:
case EnumType::kDisabled:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Actions::ActionTypeEnum val)
{
using EnumType = Actions::ActionTypeEnum;
switch (val)
{
case EnumType::kOther:
case EnumType::kScene:
case EnumType::kSequence:
case EnumType::kAutomation:
case EnumType::kException:
case EnumType::kNotification:
case EnumType::kAlarm:
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Actions::EndpointListTypeEnum val)
{
using EnumType = Actions::EndpointListTypeEnum;
switch (val)
{
case EnumType::kOther:
case EnumType::kRoom:
case EnumType::kZone:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateProvider::OTAApplyUpdateAction val)
{
using EnumType = OtaSoftwareUpdateProvider::OTAApplyUpdateAction;
switch (val)
{
case EnumType::kProceed:
case EnumType::kAwaitNextAction:
case EnumType::kDiscontinue:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateProvider::OTADownloadProtocol val)
{
using EnumType = OtaSoftwareUpdateProvider::OTADownloadProtocol;
switch (val)
{
case EnumType::kBDXSynchronous:
case EnumType::kBDXAsynchronous:
case EnumType::kHttps:
case EnumType::kVendorSpecific:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateProvider::OTAQueryStatus val)
{
using EnumType = OtaSoftwareUpdateProvider::OTAQueryStatus;
switch (val)
{
case EnumType::kUpdateAvailable:
case EnumType::kBusy:
case EnumType::kNotAvailable:
case EnumType::kDownloadProtocolNotSupported:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateRequestor::OTAAnnouncementReason val)
{
using EnumType = OtaSoftwareUpdateRequestor::OTAAnnouncementReason;
switch (val)
{
case EnumType::kSimpleAnnouncement:
case EnumType::kUpdateAvailable:
case EnumType::kUrgentUpdateAvailable:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateRequestor::OTAChangeReasonEnum val)
{
using EnumType = OtaSoftwareUpdateRequestor::OTAChangeReasonEnum;
switch (val)
{
case EnumType::kUnknown:
case EnumType::kSuccess:
case EnumType::kFailure:
case EnumType::kTimeOut:
case EnumType::kDelayByProvider:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateRequestor::OTAUpdateStateEnum val)
{
using EnumType = OtaSoftwareUpdateRequestor::OTAUpdateStateEnum;
switch (val)
{
case EnumType::kUnknown:
case EnumType::kIdle:
case EnumType::kQuerying:
case EnumType::kDelayedOnQuery:
case EnumType::kDownloading:
case EnumType::kApplying:
case EnumType::kDelayedOnApply:
case EnumType::kRollingBack:
case EnumType::kDelayedOnUserConsent:
return val;
default:
return static_cast<EnumType>(9);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(TimeFormatLocalization::CalendarType val)
{
using EnumType = TimeFormatLocalization::CalendarType;
switch (val)
{
case EnumType::kBuddhist:
case EnumType::kChinese:
case EnumType::kCoptic:
case EnumType::kEthiopian:
case EnumType::kGregorian:
case EnumType::kHebrew:
case EnumType::kIndian:
case EnumType::kIslamic:
case EnumType::kJapanese:
case EnumType::kKorean:
case EnumType::kPersian:
case EnumType::kTaiwanese:
return val;
default:
return static_cast<EnumType>(12);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(TimeFormatLocalization::HourFormat val)
{
using EnumType = TimeFormatLocalization::HourFormat;
switch (val)
{
case EnumType::k12hr:
case EnumType::k24hr:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(UnitLocalization::TempUnit val)
{
using EnumType = UnitLocalization::TempUnit;
switch (val)
{
case EnumType::kFahrenheit:
case EnumType::kCelsius:
case EnumType::kKelvin:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatChargeFault val)
{
using EnumType = PowerSource::BatChargeFault;
switch (val)
{
case EnumType::kUnspecfied:
case EnumType::kAmbientTooHot:
case EnumType::kAmbientTooCold:
case EnumType::kBatteryTooHot:
case EnumType::kBatteryTooCold:
case EnumType::kBatteryAbsent:
case EnumType::kBatteryOverVoltage:
case EnumType::kBatteryUnderVoltage:
case EnumType::kChargerOverVoltage:
case EnumType::kChargerUnderVoltage:
case EnumType::kSafetyTimeout:
return val;
default:
return static_cast<EnumType>(11);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatChargeLevel val)
{
using EnumType = PowerSource::BatChargeLevel;
switch (val)
{
case EnumType::kOk:
case EnumType::kWarning:
case EnumType::kCritical:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatChargeState val)
{
using EnumType = PowerSource::BatChargeState;
switch (val)
{
case EnumType::kUnknown:
case EnumType::kIsCharging:
case EnumType::kIsAtFullCharge:
case EnumType::kIsNotCharging:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatFault val)
{
using EnumType = PowerSource::BatFault;
switch (val)
{
case EnumType::kUnspecfied:
case EnumType::kOverTemp:
case EnumType::kUnderTemp:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatReplaceability val)
{
using EnumType = PowerSource::BatReplaceability;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kNotReplaceable:
case EnumType::kUserReplaceable:
case EnumType::kFactoryReplaceable:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::PowerSourceStatus val)
{
using EnumType = PowerSource::PowerSourceStatus;
switch (val)
{
case EnumType::kUnspecfied:
case EnumType::kActive:
case EnumType::kStandby:
case EnumType::kUnavailable:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::WiredCurrentType val)
{
using EnumType = PowerSource::WiredCurrentType;
switch (val)
{
case EnumType::kAc:
case EnumType::kDc:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::WiredFault val)
{
using EnumType = PowerSource::WiredFault;
switch (val)
{
case EnumType::kUnspecfied:
case EnumType::kOverVoltage:
case EnumType::kUnderVoltage:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralCommissioning::CommissioningError val)
{
using EnumType = GeneralCommissioning::CommissioningError;
switch (val)
{
case EnumType::kOk:
case EnumType::kValueOutsideRange:
case EnumType::kInvalidAuthentication:
case EnumType::kNoFailSafe:
case EnumType::kBusyWithOtherAdmin:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralCommissioning::RegulatoryLocationType val)
{
using EnumType = GeneralCommissioning::RegulatoryLocationType;
switch (val)
{
case EnumType::kIndoor:
case EnumType::kOutdoor:
case EnumType::kIndoorOutdoor:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(NetworkCommissioning::NetworkCommissioningStatus val)
{
using EnumType = NetworkCommissioning::NetworkCommissioningStatus;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kOutOfRange:
case EnumType::kBoundsExceeded:
case EnumType::kNetworkIDNotFound:
case EnumType::kDuplicateNetworkID:
case EnumType::kNetworkNotFound:
case EnumType::kRegulatoryError:
case EnumType::kAuthFailure:
case EnumType::kUnsupportedSecurity:
case EnumType::kOtherConnectionFailure:
case EnumType::kIPV6Failed:
case EnumType::kIPBindFailed:
case EnumType::kUnknownError:
return val;
default:
return static_cast<EnumType>(13);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(NetworkCommissioning::WiFiBand val)
{
using EnumType = NetworkCommissioning::WiFiBand;
switch (val)
{
case EnumType::k2g4:
case EnumType::k3g65:
case EnumType::k5g:
case EnumType::k6g:
case EnumType::k60g:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DiagnosticLogs::LogsIntent val)
{
using EnumType = DiagnosticLogs::LogsIntent;
switch (val)
{
case EnumType::kEndUserSupport:
case EnumType::kNetworkDiag:
case EnumType::kCrashLogs:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DiagnosticLogs::LogsStatus val)
{
using EnumType = DiagnosticLogs::LogsStatus;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kExhausted:
case EnumType::kNoLogs:
case EnumType::kBusy:
case EnumType::kDenied:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DiagnosticLogs::LogsTransferProtocol val)
{
using EnumType = DiagnosticLogs::LogsTransferProtocol;
switch (val)
{
case EnumType::kResponsePayload:
case EnumType::kBdx:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::BootReasonType val)
{
using EnumType = GeneralDiagnostics::BootReasonType;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kPowerOnReboot:
case EnumType::kBrownOutReset:
case EnumType::kSoftwareWatchdogReset:
case EnumType::kHardwareWatchdogReset:
case EnumType::kSoftwareUpdateCompleted:
case EnumType::kSoftwareReset:
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::HardwareFaultType val)
{
using EnumType = GeneralDiagnostics::HardwareFaultType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUnspecified:
case EnumType::kRadio:
case EnumType::kSensor:
case EnumType::kResettableOverTemp:
case EnumType::kNonResettableOverTemp:
case EnumType::kPowerSource:
case EnumType::kVisualDisplayFault:
case EnumType::kAudioOutputFault:
case EnumType::kUserInterfaceFault:
case EnumType::kNonVolatileMemoryError:
case EnumType::kTamperDetected:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_HARDWARE_FAULT_TYPE_UNSPECIFIED:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_RADIO:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_SENSOR:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_RESETTABLE_OVER_TEMP:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_NON_RESETTABLE_OVER_TEMP:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_POWER_SOURCE:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_VISUAL_DISPLAY_FAULT:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_AUDIO_OUTPUT_FAULT:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_USER_INTERFACE_FAULT:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_NON_VOLATILE_MEMORY_ERROR:
case EMBER_ZCL_HARDWARE_FAULT_TYPE_TAMPER_DETECTED:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(11);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::InterfaceType val)
{
using EnumType = GeneralDiagnostics::InterfaceType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUnspecified:
case EnumType::kWiFi:
case EnumType::kEthernet:
case EnumType::kCellular:
case EnumType::kThread:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_INTERFACE_TYPE_UNSPECIFIED:
case EMBER_ZCL_INTERFACE_TYPE_WI_FI:
case EMBER_ZCL_INTERFACE_TYPE_ETHERNET:
case EMBER_ZCL_INTERFACE_TYPE_CELLULAR:
case EMBER_ZCL_INTERFACE_TYPE_THREAD:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::NetworkFaultType val)
{
using EnumType = GeneralDiagnostics::NetworkFaultType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUnspecified:
case EnumType::kHardwareFailure:
case EnumType::kNetworkJammed:
case EnumType::kConnectionFailed:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_NETWORK_FAULT_TYPE_UNSPECIFIED:
case EMBER_ZCL_NETWORK_FAULT_TYPE_HARDWARE_FAILURE:
case EMBER_ZCL_NETWORK_FAULT_TYPE_NETWORK_JAMMED:
case EMBER_ZCL_NETWORK_FAULT_TYPE_CONNECTION_FAILED:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::RadioFaultType val)
{
using EnumType = GeneralDiagnostics::RadioFaultType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUnspecified:
case EnumType::kWiFiFault:
case EnumType::kCellularFault:
case EnumType::kThreadFault:
case EnumType::kNFCFault:
case EnumType::kBLEFault:
case EnumType::kEthernetFault:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_RADIO_FAULT_TYPE_UNSPECIFIED:
case EMBER_ZCL_RADIO_FAULT_TYPE_WI_FI_FAULT:
case EMBER_ZCL_RADIO_FAULT_TYPE_CELLULAR_FAULT:
case EMBER_ZCL_RADIO_FAULT_TYPE_THREAD_FAULT:
case EMBER_ZCL_RADIO_FAULT_TYPE_NFC_FAULT:
case EMBER_ZCL_RADIO_FAULT_TYPE_BLE_FAULT:
case EMBER_ZCL_RADIO_FAULT_TYPE_ETHERNET_FAULT:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ThreadNetworkDiagnostics::NetworkFault val)
{
using EnumType = ThreadNetworkDiagnostics::NetworkFault;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kLinkDown:
case EnumType::kHardwareFailure:
case EnumType::kNetworkJammed:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ThreadNetworkDiagnostics::RoutingRole val)
{
using EnumType = ThreadNetworkDiagnostics::RoutingRole;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUnspecified:
case EnumType::kUnassigned:
case EnumType::kSleepyEndDevice:
case EnumType::kEndDevice:
case EnumType::kReed:
case EnumType::kRouter:
case EnumType::kLeader:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_ROUTING_ROLE_UNSPECIFIED:
case EMBER_ZCL_ROUTING_ROLE_UNASSIGNED:
case EMBER_ZCL_ROUTING_ROLE_SLEEPY_END_DEVICE:
case EMBER_ZCL_ROUTING_ROLE_END_DEVICE:
case EMBER_ZCL_ROUTING_ROLE_REED:
case EMBER_ZCL_ROUTING_ROLE_ROUTER:
case EMBER_ZCL_ROUTING_ROLE_LEADER:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ThreadNetworkDiagnostics::ThreadConnectionStatus val)
{
using EnumType = ThreadNetworkDiagnostics::ThreadConnectionStatus;
switch (val)
{
case EnumType::kConnected:
case EnumType::kNotConnected:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::AssociationFailureCause val)
{
using EnumType = WiFiNetworkDiagnostics::AssociationFailureCause;
switch (val)
{
case EnumType::kUnknown:
case EnumType::kAssociationFailed:
case EnumType::kAuthenticationFailed:
case EnumType::kSsidNotFound:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::SecurityType val)
{
using EnumType = WiFiNetworkDiagnostics::SecurityType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUnspecified:
case EnumType::kNone:
case EnumType::kWep:
case EnumType::kWpa:
case EnumType::kWpa2:
case EnumType::kWpa3:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_SECURITY_TYPE_UNSPECIFIED:
case EMBER_ZCL_SECURITY_TYPE_NONE:
case EMBER_ZCL_SECURITY_TYPE_WEP:
case EMBER_ZCL_SECURITY_TYPE_WPA:
case EMBER_ZCL_SECURITY_TYPE_WPA2:
case EMBER_ZCL_SECURITY_TYPE_WPA3:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::WiFiConnectionStatus val)
{
using EnumType = WiFiNetworkDiagnostics::WiFiConnectionStatus;
switch (val)
{
case EnumType::kConnected:
case EnumType::kNotConnected:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::WiFiVersionType val)
{
using EnumType = WiFiNetworkDiagnostics::WiFiVersionType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::k80211a:
case EnumType::k80211b:
case EnumType::k80211g:
case EnumType::k80211n:
case EnumType::k80211ac:
case EnumType::k80211ax:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11A:
case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11B:
case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11G:
case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11N:
case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AC:
case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AX:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(EthernetNetworkDiagnostics::PHYRateType val)
{
using EnumType = EthernetNetworkDiagnostics::PHYRateType;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::k10m:
case EnumType::k100m:
case EnumType::k1000m:
case EnumType::k25g:
case EnumType::k5g:
case EnumType::k10g:
case EnumType::k40g:
case EnumType::k100g:
case EnumType::k200g:
case EnumType::k400g:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_PHY_RATE_TYPE_10_M:
case EMBER_ZCL_PHY_RATE_TYPE_100_M:
case EMBER_ZCL_PHY_RATE_TYPE_1000_M:
case EMBER_ZCL_PHY_RATE_TYPE_2__5_G:
case EMBER_ZCL_PHY_RATE_TYPE_5_G:
case EMBER_ZCL_PHY_RATE_TYPE_10_G:
case EMBER_ZCL_PHY_RATE_TYPE_40_G:
case EMBER_ZCL_PHY_RATE_TYPE_100_G:
case EMBER_ZCL_PHY_RATE_TYPE_200_G:
case EMBER_ZCL_PHY_RATE_TYPE_400_G:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(10);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(TimeSynchronization::GranularityEnum val)
{
using EnumType = TimeSynchronization::GranularityEnum;
switch (val)
{
case EnumType::kNoTimeGranularity:
case EnumType::kMinutesGranularity:
case EnumType::kSecondsGranularity:
case EnumType::kMillisecondsGranularity:
case EnumType::kMicrosecondsGranularity:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(TimeSynchronization::TimeSourceEnum val)
{
using EnumType = TimeSynchronization::TimeSourceEnum;
switch (val)
{
case EnumType::kNone:
case EnumType::kUnknown:
case EnumType::kAdmin:
case EnumType::kNodeTimeCluster:
case EnumType::kNonFabricSntp:
case EnumType::kNonFabricNtp:
case EnumType::kFabricSntp:
case EnumType::kFabricNtp:
case EnumType::kMixedNtp:
case EnumType::kNonFabricSntpNts:
case EnumType::kNonFabricNtpNts:
case EnumType::kFabricSntpNts:
case EnumType::kFabricNtpNts:
case EnumType::kMixedNtpNts:
case EnumType::kCloudSource:
case EnumType::kPtp:
case EnumType::kGnss:
return val;
default:
return static_cast<EnumType>(17);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(AdministratorCommissioning::CommissioningWindowStatus val)
{
using EnumType = AdministratorCommissioning::CommissioningWindowStatus;
switch (val)
{
case EnumType::kWindowNotOpen:
case EnumType::kEnhancedWindowOpen:
case EnumType::kBasicWindowOpen:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(AdministratorCommissioning::StatusCode val)
{
using EnumType = AdministratorCommissioning::StatusCode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kBusy:
case EnumType::kPAKEParameterError:
case EnumType::kWindowNotOpen:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_STATUS_CODE_BUSY:
case EMBER_ZCL_STATUS_CODE_PAKE_PARAMETER_ERROR:
case EMBER_ZCL_STATUS_CODE_WINDOW_NOT_OPEN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(0);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(OperationalCredentials::OperationalCertStatus val)
{
using EnumType = OperationalCredentials::OperationalCertStatus;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kInvalidPublicKey:
case EnumType::kInvalidNodeOpId:
case EnumType::kInvalidNOC:
case EnumType::kMissingCsr:
case EnumType::kTableFull:
case EnumType::kInvalidAdminSubject:
case EnumType::kFabricConflict:
case EnumType::kLabelConflict:
case EnumType::kInvalidFabricIndex:
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(GroupKeyManagement::GroupKeySecurityPolicy val)
{
using EnumType = GroupKeyManagement::GroupKeySecurityPolicy;
switch (val)
{
case EnumType::kTrustFirst:
case EnumType::kCacheAndSync:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlAlarmCode val)
{
using EnumType = DoorLock::DlAlarmCode;
switch (val)
{
case EnumType::kLockJammed:
case EnumType::kLockFactoryReset:
case EnumType::kLockRadioPowerCycled:
case EnumType::kWrongCodeEntryLimit:
case EnumType::kFrontEsceutcheonRemoved:
case EnumType::kDoorForcedOpen:
case EnumType::kDoorAjar:
case EnumType::kForcedUser:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlCredentialRule val)
{
using EnumType = DoorLock::DlCredentialRule;
switch (val)
{
case EnumType::kSingle:
case EnumType::kDouble:
case EnumType::kTri:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlCredentialType val)
{
using EnumType = DoorLock::DlCredentialType;
switch (val)
{
case EnumType::kProgrammingPIN:
case EnumType::kPin:
case EnumType::kRfid:
case EnumType::kFingerprint:
case EnumType::kFingerVein:
case EnumType::kFace:
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlDataOperationType val)
{
using EnumType = DoorLock::DlDataOperationType;
switch (val)
{
case EnumType::kAdd:
case EnumType::kClear:
case EnumType::kModify:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlDoorState val)
{
using EnumType = DoorLock::DlDoorState;
switch (val)
{
case EnumType::kDoorOpen:
case EnumType::kDoorClosed:
case EnumType::kDoorJammed:
case EnumType::kDoorForcedOpen:
case EnumType::kDoorUnspecifiedError:
case EnumType::kDoorAjar:
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockDataType val)
{
using EnumType = DoorLock::DlLockDataType;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kProgrammingCode:
case EnumType::kUserIndex:
case EnumType::kWeekDaySchedule:
case EnumType::kYearDaySchedule:
case EnumType::kHolidaySchedule:
case EnumType::kPin:
case EnumType::kRfid:
case EnumType::kFingerprint:
return val;
default:
return static_cast<EnumType>(9);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockOperationType val)
{
using EnumType = DoorLock::DlLockOperationType;
switch (val)
{
case EnumType::kLock:
case EnumType::kUnlock:
case EnumType::kNonAccessUserEvent:
case EnumType::kForcedUserEvent:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockState val)
{
using EnumType = DoorLock::DlLockState;
switch (val)
{
case EnumType::kNotFullyLocked:
case EnumType::kLocked:
case EnumType::kUnlocked:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockType val)
{
using EnumType = DoorLock::DlLockType;
switch (val)
{
case EnumType::kDeadBolt:
case EnumType::kMagnetic:
case EnumType::kOther:
case EnumType::kMortise:
case EnumType::kRim:
case EnumType::kLatchBolt:
case EnumType::kCylindricalLock:
case EnumType::kTubularLock:
case EnumType::kInterconnectedLock:
case EnumType::kDeadLatch:
case EnumType::kDoorFurniture:
return val;
default:
return static_cast<EnumType>(11);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlOperatingMode val)
{
using EnumType = DoorLock::DlOperatingMode;
switch (val)
{
case EnumType::kNormal:
case EnumType::kVacation:
case EnumType::kPrivacy:
case EnumType::kNoRemoteLockUnlock:
case EnumType::kPassage:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlOperationError val)
{
using EnumType = DoorLock::DlOperationError;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kInvalidCredential:
case EnumType::kDisabledUserDenied:
case EnumType::kRestricted:
case EnumType::kInsufficientBattery:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlOperationSource val)
{
using EnumType = DoorLock::DlOperationSource;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kManual:
case EnumType::kProprietaryRemote:
case EnumType::kKeypad:
case EnumType::kAuto:
case EnumType::kButton:
case EnumType::kSchedule:
case EnumType::kRemote:
case EnumType::kRfid:
case EnumType::kBiometric:
return val;
default:
return static_cast<EnumType>(10);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlStatus val)
{
using EnumType = DoorLock::DlStatus;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kFailure:
case EnumType::kDuplicate:
case EnumType::kOccupied:
case EnumType::kInvalidField:
case EnumType::kResourceExhausted:
case EnumType::kNotFound:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlUserStatus val)
{
using EnumType = DoorLock::DlUserStatus;
switch (val)
{
case EnumType::kAvailable:
case EnumType::kOccupiedEnabled:
case EnumType::kOccupiedDisabled:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlUserType val)
{
using EnumType = DoorLock::DlUserType;
switch (val)
{
case EnumType::kUnrestrictedUser:
case EnumType::kYearDayScheduleUser:
case EnumType::kWeekDayScheduleUser:
case EnumType::kProgrammingUser:
case EnumType::kNonAccessUser:
case EnumType::kForcedUser:
case EnumType::kDisposableUser:
case EnumType::kExpiringUser:
case EnumType::kScheduleRestrictedUser:
case EnumType::kRemoteOnlyUser:
return val;
default:
return static_cast<EnumType>(10);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockOperationEventCode val)
{
using EnumType = DoorLock::DoorLockOperationEventCode;
switch (val)
{
case EnumType::kUnknownOrMfgSpecific:
case EnumType::kLock:
case EnumType::kUnlock:
case EnumType::kLockInvalidPinOrId:
case EnumType::kLockInvalidSchedule:
case EnumType::kUnlockInvalidPinOrId:
case EnumType::kUnlockInvalidSchedule:
case EnumType::kOneTouchLock:
case EnumType::kKeyLock:
case EnumType::kKeyUnlock:
case EnumType::kAutoLock:
case EnumType::kScheduleLock:
case EnumType::kScheduleUnlock:
case EnumType::kManualLock:
case EnumType::kManualUnlock:
return val;
default:
return static_cast<EnumType>(15);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockProgrammingEventCode val)
{
using EnumType = DoorLock::DoorLockProgrammingEventCode;
switch (val)
{
case EnumType::kUnknownOrMfgSpecific:
case EnumType::kMasterCodeChanged:
case EnumType::kPinAdded:
case EnumType::kPinDeleted:
case EnumType::kPinChanged:
case EnumType::kIdAdded:
case EnumType::kIdDeleted:
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockSetPinOrIdStatus val)
{
using EnumType = DoorLock::DoorLockSetPinOrIdStatus;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kGeneralFailure:
case EnumType::kMemoryFull:
case EnumType::kDuplicateCodeError:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockUserStatus val)
{
using EnumType = DoorLock::DoorLockUserStatus;
switch (val)
{
case EnumType::kAvailable:
case EnumType::kOccupiedEnabled:
case EnumType::kOccupiedDisabled:
case EnumType::kNotSupported:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockUserType val)
{
using EnumType = DoorLock::DoorLockUserType;
switch (val)
{
case EnumType::kUnrestricted:
case EnumType::kYearDayScheduleUser:
case EnumType::kWeekDayScheduleUser:
case EnumType::kMasterUser:
case EnumType::kNonAccessUser:
case EnumType::kNotSupported:
return val;
default:
return static_cast<EnumType>(5);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(WindowCovering::EndProductType val)
{
using EnumType = WindowCovering::EndProductType;
switch (val)
{
case EnumType::kRollerShade:
case EnumType::kRomanShade:
case EnumType::kBalloonShade:
case EnumType::kWovenWood:
case EnumType::kPleatedShade:
case EnumType::kCellularShade:
case EnumType::kLayeredShade:
case EnumType::kLayeredShade2D:
case EnumType::kSheerShade:
case EnumType::kTiltOnlyInteriorBlind:
case EnumType::kInteriorBlind:
case EnumType::kVerticalBlindStripCurtain:
case EnumType::kInteriorVenetianBlind:
case EnumType::kExteriorVenetianBlind:
case EnumType::kLateralLeftCurtain:
case EnumType::kLateralRightCurtain:
case EnumType::kCentralCurtain:
case EnumType::kRollerShutter:
case EnumType::kExteriorVerticalScreen:
case EnumType::kAwningTerracePatio:
case EnumType::kAwningVerticalScreen:
case EnumType::kTiltOnlyPergola:
case EnumType::kSwingingShutter:
case EnumType::kSlidingShutter:
case EnumType::kUnknown:
return val;
default:
return static_cast<EnumType>(24);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(WindowCovering::Type val)
{
using EnumType = WindowCovering::Type;
switch (val)
{
case EnumType::kRollerShade:
case EnumType::kRollerShade2Motor:
case EnumType::kRollerShadeExterior:
case EnumType::kRollerShadeExterior2Motor:
case EnumType::kDrapery:
case EnumType::kAwning:
case EnumType::kShutter:
case EnumType::kTiltBlindTiltOnly:
case EnumType::kTiltBlindLiftAndTilt:
case EnumType::kProjectorScreen:
case EnumType::kUnknown:
return val;
default:
return static_cast<EnumType>(10);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PumpConfigurationAndControl::PumpControlMode val)
{
using EnumType = PumpConfigurationAndControl::PumpControlMode;
switch (val)
{
case EnumType::kConstantSpeed:
case EnumType::kConstantPressure:
case EnumType::kProportionalPressure:
case EnumType::kConstantFlow:
case EnumType::kConstantTemperature:
case EnumType::kAutomatic:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(PumpConfigurationAndControl::PumpOperationMode val)
{
using EnumType = PumpConfigurationAndControl::PumpOperationMode;
switch (val)
{
case EnumType::kNormal:
case EnumType::kMinimum:
case EnumType::kMaximum:
case EnumType::kLocal:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::SetpointAdjustMode val)
{
using EnumType = Thermostat::SetpointAdjustMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kHeatSetpoint:
case EnumType::kCoolSetpoint:
case EnumType::kHeatAndCoolSetpoints:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_SETPOINT:
case EMBER_ZCL_SETPOINT_ADJUST_MODE_COOL_SETPOINT:
case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_AND_COOL_SETPOINTS:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatControlSequence val)
{
using EnumType = Thermostat::ThermostatControlSequence;
switch (val)
{
case EnumType::kCoolingOnly:
case EnumType::kCoolingWithReheat:
case EnumType::kHeatingOnly:
case EnumType::kHeatingWithReheat:
case EnumType::kCoolingAndHeating:
case EnumType::kCoolingAndHeatingWithReheat:
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatRunningMode val)
{
using EnumType = Thermostat::ThermostatRunningMode;
switch (val)
{
case EnumType::kOff:
case EnumType::kCool:
case EnumType::kHeat:
return val;
default:
return static_cast<EnumType>(1);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatSystemMode val)
{
using EnumType = Thermostat::ThermostatSystemMode;
switch (val)
{
case EnumType::kOff:
case EnumType::kAuto:
case EnumType::kCool:
case EnumType::kHeat:
case EnumType::kEmergencyHeating:
case EnumType::kPrecooling:
case EnumType::kFanOnly:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeSequenceType val)
{
using EnumType = FanControl::FanModeSequenceType;
switch (val)
{
case EnumType::kOffLowMedHigh:
case EnumType::kOffLowHigh:
case EnumType::kOffLowMedHighAuto:
case EnumType::kOffLowHighAuto:
case EnumType::kOffOnAuto:
case EnumType::kOffOn:
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeType val)
{
using EnumType = FanControl::FanModeType;
switch (val)
{
case EnumType::kOff:
case EnumType::kLow:
case EnumType::kMedium:
case EnumType::kHigh:
case EnumType::kOn:
case EnumType::kAuto:
case EnumType::kSmart:
return val;
default:
return static_cast<EnumType>(7);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorLoopAction val)
{
using EnumType = ColorControl::ColorLoopAction;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kDeactivate:
case EnumType::kActivateFromColorLoopStartEnhancedHue:
case EnumType::kActivateFromEnhancedCurrentHue:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_COLOR_LOOP_ACTION_DEACTIVATE:
case EMBER_ZCL_COLOR_LOOP_ACTION_ACTIVATE_FROM_COLOR_LOOP_START_ENHANCED_HUE:
case EMBER_ZCL_COLOR_LOOP_ACTION_ACTIVATE_FROM_ENHANCED_CURRENT_HUE:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorLoopDirection val)
{
using EnumType = ColorControl::ColorLoopDirection;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kDecrementHue:
case EnumType::kIncrementHue:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_COLOR_LOOP_DIRECTION_DECREMENT_HUE:
case EMBER_ZCL_COLOR_LOOP_DIRECTION_INCREMENT_HUE:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorMode val)
{
using EnumType = ColorControl::ColorMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kCurrentHueAndCurrentSaturation:
case EnumType::kCurrentXAndCurrentY:
case EnumType::kColorTemperature:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_COLOR_MODE_CURRENT_HUE_AND_CURRENT_SATURATION:
case EMBER_ZCL_COLOR_MODE_CURRENT_X_AND_CURRENT_Y:
case EMBER_ZCL_COLOR_MODE_COLOR_TEMPERATURE:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueDirection val)
{
using EnumType = ColorControl::HueDirection;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kShortestDistance:
case EnumType::kLongestDistance:
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_HUE_DIRECTION_SHORTEST_DISTANCE:
case EMBER_ZCL_HUE_DIRECTION_LONGEST_DISTANCE:
case EMBER_ZCL_HUE_DIRECTION_UP:
case EMBER_ZCL_HUE_DIRECTION_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueMoveMode val)
{
using EnumType = ColorControl::HueMoveMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kStop:
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_HUE_MOVE_MODE_STOP:
case EMBER_ZCL_HUE_MOVE_MODE_UP:
case EMBER_ZCL_HUE_MOVE_MODE_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueStepMode val)
{
using EnumType = ColorControl::HueStepMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_HUE_STEP_MODE_UP:
case EMBER_ZCL_HUE_STEP_MODE_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(0);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::SaturationMoveMode val)
{
using EnumType = ColorControl::SaturationMoveMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kStop:
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_SATURATION_MOVE_MODE_STOP:
case EMBER_ZCL_SATURATION_MOVE_MODE_UP:
case EMBER_ZCL_SATURATION_MOVE_MODE_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::SaturationStepMode val)
{
using EnumType = ColorControl::SaturationStepMode;
switch (val)
{
// Need to convert consumers to using the new enum classes, so we
// don't just have casts all over.
#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EnumType::kUp:
case EnumType::kDown:
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
case EMBER_ZCL_SATURATION_STEP_MODE_UP:
case EMBER_ZCL_SATURATION_STEP_MODE_DOWN:
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
return val;
default:
return static_cast<EnumType>(0);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(IlluminanceMeasurement::LightSensorType val)
{
using EnumType = IlluminanceMeasurement::LightSensorType;
switch (val)
{
case EnumType::kPhotodiode:
case EnumType::kCmos:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Channel::ChannelStatusEnum val)
{
using EnumType = Channel::ChannelStatusEnum;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kMultipleMatches:
case EnumType::kNoMatches:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(Channel::LineupInfoTypeEnum val)
{
using EnumType = Channel::LineupInfoTypeEnum;
switch (val)
{
case EnumType::kMso:
return val;
default:
return static_cast<EnumType>(1);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(TargetNavigator::TargetNavigatorStatusEnum val)
{
using EnumType = TargetNavigator::TargetNavigatorStatusEnum;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kTargetNotFound:
case EnumType::kNotAllowed:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(MediaPlayback::MediaPlaybackStatusEnum val)
{
using EnumType = MediaPlayback::MediaPlaybackStatusEnum;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kInvalidStateForCommand:
case EnumType::kNotAllowed:
case EnumType::kNotActive:
case EnumType::kSpeedOutOfRange:
case EnumType::kSeekOutOfRange:
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(MediaPlayback::PlaybackStateEnum val)
{
using EnumType = MediaPlayback::PlaybackStateEnum;
switch (val)
{
case EnumType::kPlaying:
case EnumType::kPaused:
case EnumType::kNotPlaying:
case EnumType::kBuffering:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(MediaInput::InputTypeEnum val)
{
using EnumType = MediaInput::InputTypeEnum;
switch (val)
{
case EnumType::kInternal:
case EnumType::kAux:
case EnumType::kCoax:
case EnumType::kComposite:
case EnumType::kHdmi:
case EnumType::kInput:
case EnumType::kLine:
case EnumType::kOptical:
case EnumType::kVideo:
case EnumType::kScart:
case EnumType::kUsb:
case EnumType::kOther:
return val;
default:
return static_cast<EnumType>(12);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(KeypadInput::CecKeyCode val)
{
using EnumType = KeypadInput::CecKeyCode;
switch (val)
{
case EnumType::kSelect:
case EnumType::kUp:
case EnumType::kDown:
case EnumType::kLeft:
case EnumType::kRight:
case EnumType::kRightUp:
case EnumType::kRightDown:
case EnumType::kLeftUp:
case EnumType::kLeftDown:
case EnumType::kRootMenu:
case EnumType::kSetupMenu:
case EnumType::kContentsMenu:
case EnumType::kFavoriteMenu:
case EnumType::kExit:
case EnumType::kMediaTopMenu:
case EnumType::kMediaContextSensitiveMenu:
case EnumType::kNumberEntryMode:
case EnumType::kNumber11:
case EnumType::kNumber12:
case EnumType::kNumber0OrNumber10:
case EnumType::kNumbers1:
case EnumType::kNumbers2:
case EnumType::kNumbers3:
case EnumType::kNumbers4:
case EnumType::kNumbers5:
case EnumType::kNumbers6:
case EnumType::kNumbers7:
case EnumType::kNumbers8:
case EnumType::kNumbers9:
case EnumType::kDot:
case EnumType::kEnter:
case EnumType::kClear:
case EnumType::kNextFavorite:
case EnumType::kChannelUp:
case EnumType::kChannelDown:
case EnumType::kPreviousChannel:
case EnumType::kSoundSelect:
case EnumType::kInputSelect:
case EnumType::kDisplayInformation:
case EnumType::kHelp:
case EnumType::kPageUp:
case EnumType::kPageDown:
case EnumType::kPower:
case EnumType::kVolumeUp:
case EnumType::kVolumeDown:
case EnumType::kMute:
case EnumType::kPlay:
case EnumType::kStop:
case EnumType::kPause:
case EnumType::kRecord:
case EnumType::kRewind:
case EnumType::kFastForward:
case EnumType::kEject:
case EnumType::kForward:
case EnumType::kBackward:
case EnumType::kStopRecord:
case EnumType::kPauseRecord:
case EnumType::kReserved:
case EnumType::kAngle:
case EnumType::kSubPicture:
case EnumType::kVideoOnDemand:
case EnumType::kElectronicProgramGuide:
case EnumType::kTimerProgramming:
case EnumType::kInitialConfiguration:
case EnumType::kSelectBroadcastType:
case EnumType::kSelectSoundPresentation:
case EnumType::kPlayFunction:
case EnumType::kPausePlayFunction:
case EnumType::kRecordFunction:
case EnumType::kPauseRecordFunction:
case EnumType::kStopFunction:
case EnumType::kMuteFunction:
case EnumType::kRestoreVolumeFunction:
case EnumType::kTuneFunction:
case EnumType::kSelectMediaFunction:
case EnumType::kSelectAvInputFunction:
case EnumType::kSelectAudioInputFunction:
case EnumType::kPowerToggleFunction:
case EnumType::kPowerOffFunction:
case EnumType::kPowerOnFunction:
case EnumType::kF1Blue:
case EnumType::kF2Red:
case EnumType::kF3Green:
case EnumType::kF4Yellow:
case EnumType::kF5:
case EnumType::kData:
return val;
default:
return static_cast<EnumType>(14);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(KeypadInput::KeypadInputStatusEnum val)
{
using EnumType = KeypadInput::KeypadInputStatusEnum;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kUnsupportedKey:
case EnumType::kInvalidKeyInCurrentState:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ContentLauncher::ContentLaunchStatusEnum val)
{
using EnumType = ContentLauncher::ContentLaunchStatusEnum;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kUrlNotAvailable:
case EnumType::kAuthFailed:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ContentLauncher::MetricTypeEnum val)
{
using EnumType = ContentLauncher::MetricTypeEnum;
switch (val)
{
case EnumType::kPixels:
case EnumType::kPercentage:
return val;
default:
return static_cast<EnumType>(2);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ContentLauncher::ParameterEnum val)
{
using EnumType = ContentLauncher::ParameterEnum;
switch (val)
{
case EnumType::kActor:
case EnumType::kChannel:
case EnumType::kCharacter:
case EnumType::kDirector:
case EnumType::kEvent:
case EnumType::kFranchise:
case EnumType::kGenre:
case EnumType::kLeague:
case EnumType::kPopularity:
case EnumType::kProvider:
case EnumType::kSport:
case EnumType::kSportsTeam:
case EnumType::kType:
return val;
default:
return static_cast<EnumType>(13);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(AudioOutput::OutputTypeEnum val)
{
using EnumType = AudioOutput::OutputTypeEnum;
switch (val)
{
case EnumType::kHdmi:
case EnumType::kBt:
case EnumType::kOptical:
case EnumType::kHeadphone:
case EnumType::kInternal:
case EnumType::kOther:
return val;
default:
return static_cast<EnumType>(6);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ApplicationLauncher::ApplicationLauncherStatusEnum val)
{
using EnumType = ApplicationLauncher::ApplicationLauncherStatusEnum;
switch (val)
{
case EnumType::kSuccess:
case EnumType::kAppNotAvailable:
case EnumType::kSystemBusy:
return val;
default:
return static_cast<EnumType>(3);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(ApplicationBasic::ApplicationStatusEnum val)
{
using EnumType = ApplicationBasic::ApplicationStatusEnum;
switch (val)
{
case EnumType::kStopped:
case EnumType::kActiveVisibleFocus:
case EnumType::kActiveHidden:
case EnumType::kActiveVisibleNotFocus:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(UnitTesting::SimpleEnum val)
{
using EnumType = UnitTesting::SimpleEnum;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kValueA:
case EnumType::kValueB:
case EnumType::kValueC:
return val;
default:
return static_cast<EnumType>(4);
}
}
static auto __attribute__((unused)) EnsureKnownEnumValue(FaultInjection::FaultType val)
{
using EnumType = FaultInjection::FaultType;
switch (val)
{
case EnumType::kUnspecified:
case EnumType::kSystemFault:
case EnumType::kInetFault:
case EnumType::kChipFault:
case EnumType::kCertFault:
return val;
default:
return static_cast<EnumType>(5);
}
}
} // namespace Clusters
} // namespace app
} // namespace chip