/*
 *
 *    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/KeypadInput/Enums.h>

namespace chip {
namespace app {
namespace Clusters {
static auto __attribute__((unused))
EnsureKnownEnumValue(KeypadInput::CECKeyCodeEnum val) {
  using EnumType = KeypadInput::CECKeyCodeEnum;
  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 EnumType::kUnknownEnumValue;
  }
}
static auto __attribute__((unused))
EnsureKnownEnumValue(KeypadInput::StatusEnum val) {
  using EnumType = KeypadInput::StatusEnum;
  switch (val) {
  case EnumType::kSuccess:
  case EnumType::kUnsupportedKey:
  case EnumType::kInvalidKeyInCurrentState:
    return val;
  default:
    return EnumType::kUnknownEnumValue;
  }
}
} // namespace Clusters
} // namespace app
} // namespace chip
