| /* |
| * |
| * 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-shared-Enums-Check.h.zapt |
| |
| #pragma once |
| |
| #include <clusters/shared/Enums.h> |
| |
| namespace chip { |
| namespace app { |
| namespace Clusters { |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::ChangeIndicationEnum val) |
| { |
| using EnumType = detail::ChangeIndicationEnum; |
| switch (val) |
| { |
| case EnumType::kOk: |
| case EnumType::kWarning: |
| case EnumType::kCritical: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::DegradationDirectionEnum val) |
| { |
| using EnumType = detail::DegradationDirectionEnum; |
| switch (val) |
| { |
| case EnumType::kUp: |
| case EnumType::kDown: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::LevelValueEnum val) |
| { |
| using EnumType = detail::LevelValueEnum; |
| switch (val) |
| { |
| case EnumType::kUnknown: |
| case EnumType::kLow: |
| case EnumType::kMedium: |
| case EnumType::kHigh: |
| case EnumType::kCritical: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::MeasurementMediumEnum val) |
| { |
| using EnumType = detail::MeasurementMediumEnum; |
| switch (val) |
| { |
| case EnumType::kAir: |
| case EnumType::kWater: |
| case EnumType::kSoil: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::MeasurementTypeEnum val) |
| { |
| using EnumType = detail::MeasurementTypeEnum; |
| switch (val) |
| { |
| case EnumType::kUnspecified: |
| case EnumType::kVoltage: |
| case EnumType::kActiveCurrent: |
| case EnumType::kReactiveCurrent: |
| case EnumType::kApparentCurrent: |
| case EnumType::kActivePower: |
| case EnumType::kReactivePower: |
| case EnumType::kApparentPower: |
| case EnumType::kRMSVoltage: |
| case EnumType::kRMSCurrent: |
| case EnumType::kRMSPower: |
| case EnumType::kFrequency: |
| case EnumType::kPowerFactor: |
| case EnumType::kNeutralCurrent: |
| case EnumType::kElectricalEnergy: |
| case EnumType::kReactiveEnergy: |
| case EnumType::kApparentEnergy: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::MeasurementUnitEnum val) |
| { |
| using EnumType = detail::MeasurementUnitEnum; |
| switch (val) |
| { |
| case EnumType::kPpm: |
| case EnumType::kPpb: |
| case EnumType::kPpt: |
| case EnumType::kMgm3: |
| case EnumType::kUgm3: |
| case EnumType::kNgm3: |
| case EnumType::kPm3: |
| case EnumType::kBqm3: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(detail::ProductIdentifierTypeEnum val) |
| { |
| using EnumType = detail::ProductIdentifierTypeEnum; |
| switch (val) |
| { |
| case EnumType::kUpc: |
| case EnumType::kGtin8: |
| case EnumType::kEan: |
| case EnumType::kGtin14: |
| case EnumType::kOem: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::AreaTypeTag val) |
| { |
| using EnumType = Globals::AreaTypeTag; |
| switch (val) |
| { |
| case EnumType::kAisle: |
| case EnumType::kAttic: |
| case EnumType::kBackDoor: |
| case EnumType::kBackYard: |
| case EnumType::kBalcony: |
| case EnumType::kBallroom: |
| case EnumType::kBathroom: |
| case EnumType::kBedroom: |
| case EnumType::kBorder: |
| case EnumType::kBoxroom: |
| case EnumType::kBreakfastRoom: |
| case EnumType::kCarport: |
| case EnumType::kCellar: |
| case EnumType::kCloakroom: |
| case EnumType::kCloset: |
| case EnumType::kConservatory: |
| case EnumType::kCorridor: |
| case EnumType::kCraftRoom: |
| case EnumType::kCupboard: |
| case EnumType::kDeck: |
| case EnumType::kDen: |
| case EnumType::kDining: |
| case EnumType::kDrawingRoom: |
| case EnumType::kDressingRoom: |
| case EnumType::kDriveway: |
| case EnumType::kElevator: |
| case EnumType::kEnsuite: |
| case EnumType::kEntrance: |
| case EnumType::kEntryway: |
| case EnumType::kFamilyRoom: |
| case EnumType::kFoyer: |
| case EnumType::kFrontDoor: |
| case EnumType::kFrontYard: |
| case EnumType::kGameRoom: |
| case EnumType::kGarage: |
| case EnumType::kGarageDoor: |
| case EnumType::kGarden: |
| case EnumType::kGardenDoor: |
| case EnumType::kGuestBathroom: |
| case EnumType::kGuestBedroom: |
| case EnumType::kGuestRoom: |
| case EnumType::kGym: |
| case EnumType::kHallway: |
| case EnumType::kHearthRoom: |
| case EnumType::kKidsRoom: |
| case EnumType::kKidsBedroom: |
| case EnumType::kKitchen: |
| case EnumType::kLaundryRoom: |
| case EnumType::kLawn: |
| case EnumType::kLibrary: |
| case EnumType::kLivingRoom: |
| case EnumType::kLounge: |
| case EnumType::kMediaTvRoom: |
| case EnumType::kMudRoom: |
| case EnumType::kMusicRoom: |
| case EnumType::kNursery: |
| case EnumType::kOffice: |
| case EnumType::kOutdoorKitchen: |
| case EnumType::kOutside: |
| case EnumType::kPantry: |
| case EnumType::kParkingLot: |
| case EnumType::kParlor: |
| case EnumType::kPatio: |
| case EnumType::kPlayRoom: |
| case EnumType::kPoolRoom: |
| case EnumType::kPorch: |
| case EnumType::kPrimaryBathroom: |
| case EnumType::kPrimaryBedroom: |
| case EnumType::kRamp: |
| case EnumType::kReceptionRoom: |
| case EnumType::kRecreationRoom: |
| case EnumType::kRoof: |
| case EnumType::kSauna: |
| case EnumType::kScullery: |
| case EnumType::kSewingRoom: |
| case EnumType::kShed: |
| case EnumType::kSideDoor: |
| case EnumType::kSideYard: |
| case EnumType::kSittingRoom: |
| case EnumType::kSnug: |
| case EnumType::kSpa: |
| case EnumType::kStaircase: |
| case EnumType::kSteamRoom: |
| case EnumType::kStorageRoom: |
| case EnumType::kStudio: |
| case EnumType::kStudy: |
| case EnumType::kSunRoom: |
| case EnumType::kSwimmingPool: |
| case EnumType::kTerrace: |
| case EnumType::kUtilityRoom: |
| case EnumType::kWard: |
| case EnumType::kWorkshop: |
| case EnumType::kToilet: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::AtomicRequestTypeEnum val) |
| { |
| using EnumType = Globals::AtomicRequestTypeEnum; |
| switch (val) |
| { |
| case EnumType::kBeginWrite: |
| case EnumType::kCommitWrite: |
| case EnumType::kRollbackWrite: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::LandmarkTag val) |
| { |
| using EnumType = Globals::LandmarkTag; |
| switch (val) |
| { |
| case EnumType::kAirConditioner: |
| case EnumType::kAirPurifier: |
| case EnumType::kBackDoor: |
| case EnumType::kBarStool: |
| case EnumType::kBathMat: |
| case EnumType::kBathtub: |
| case EnumType::kBed: |
| case EnumType::kBookshelf: |
| case EnumType::kChair: |
| case EnumType::kChristmasTree: |
| case EnumType::kCoatRack: |
| case EnumType::kCoffeeTable: |
| case EnumType::kCookingRange: |
| case EnumType::kCouch: |
| case EnumType::kCountertop: |
| case EnumType::kCradle: |
| case EnumType::kCrib: |
| case EnumType::kDesk: |
| case EnumType::kDiningTable: |
| case EnumType::kDishwasher: |
| case EnumType::kDoor: |
| case EnumType::kDresser: |
| case EnumType::kLaundryDryer: |
| case EnumType::kFan: |
| case EnumType::kFireplace: |
| case EnumType::kFreezer: |
| case EnumType::kFrontDoor: |
| case EnumType::kHighChair: |
| case EnumType::kKitchenIsland: |
| case EnumType::kLamp: |
| case EnumType::kLitterBox: |
| case EnumType::kMirror: |
| case EnumType::kNightstand: |
| case EnumType::kOven: |
| case EnumType::kPetBed: |
| case EnumType::kPetBowl: |
| case EnumType::kPetCrate: |
| case EnumType::kRefrigerator: |
| case EnumType::kScratchingPost: |
| case EnumType::kShoeRack: |
| case EnumType::kShower: |
| case EnumType::kSideDoor: |
| case EnumType::kSink: |
| case EnumType::kSofa: |
| case EnumType::kStove: |
| case EnumType::kTable: |
| case EnumType::kToilet: |
| case EnumType::kTrashCan: |
| case EnumType::kLaundryWasher: |
| case EnumType::kWindow: |
| case EnumType::kWineCooler: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::LocationTag val) |
| { |
| using EnumType = Globals::LocationTag; |
| switch (val) |
| { |
| case EnumType::kIndoor: |
| case EnumType::kOutdoor: |
| case EnumType::kInside: |
| case EnumType::kOutside: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::MeasurementTypeEnum val) |
| { |
| using EnumType = Globals::MeasurementTypeEnum; |
| switch (val) |
| { |
| case EnumType::kUnspecified: |
| case EnumType::kVoltage: |
| case EnumType::kActiveCurrent: |
| case EnumType::kReactiveCurrent: |
| case EnumType::kApparentCurrent: |
| case EnumType::kActivePower: |
| case EnumType::kReactivePower: |
| case EnumType::kApparentPower: |
| case EnumType::kRMSVoltage: |
| case EnumType::kRMSCurrent: |
| case EnumType::kRMSPower: |
| case EnumType::kFrequency: |
| case EnumType::kPowerFactor: |
| case EnumType::kNeutralCurrent: |
| case EnumType::kElectricalEnergy: |
| case EnumType::kReactiveEnergy: |
| case EnumType::kApparentEnergy: |
| case EnumType::kSoilMoisture: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::PositionTag val) |
| { |
| using EnumType = Globals::PositionTag; |
| switch (val) |
| { |
| case EnumType::kLeft: |
| case EnumType::kRight: |
| case EnumType::kTop: |
| case EnumType::kBottom: |
| case EnumType::kMiddle: |
| case EnumType::kRow: |
| case EnumType::kColumn: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::PowerThresholdSourceEnum val) |
| { |
| using EnumType = Globals::PowerThresholdSourceEnum; |
| switch (val) |
| { |
| case EnumType::kContract: |
| case EnumType::kRegulator: |
| case EnumType::kEquipment: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::RelativePositionTag val) |
| { |
| using EnumType = Globals::RelativePositionTag; |
| switch (val) |
| { |
| case EnumType::kUnder: |
| case EnumType::kNextTo: |
| case EnumType::kAround: |
| case EnumType::kOn: |
| case EnumType::kAbove: |
| case EnumType::kFrontOf: |
| case EnumType::kBehind: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::StreamUsageEnum val) |
| { |
| using EnumType = Globals::StreamUsageEnum; |
| switch (val) |
| { |
| case EnumType::kInternal: |
| case EnumType::kRecording: |
| case EnumType::kAnalysis: |
| case EnumType::kLiveView: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::TariffPriceTypeEnum val) |
| { |
| using EnumType = Globals::TariffPriceTypeEnum; |
| switch (val) |
| { |
| case EnumType::kStandard: |
| case EnumType::kCritical: |
| case EnumType::kVirtual: |
| case EnumType::kIncentive: |
| case EnumType::kIncentiveSignal: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::TariffUnitEnum val) |
| { |
| using EnumType = Globals::TariffUnitEnum; |
| switch (val) |
| { |
| case EnumType::kKWh: |
| case EnumType::kKVAh: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::TestGlobalEnum val) |
| { |
| using EnumType = Globals::TestGlobalEnum; |
| switch (val) |
| { |
| case EnumType::kSomeValue: |
| case EnumType::kSomeOtherValue: |
| case EnumType::kFinalValue: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::ThreeLevelAutoEnum val) |
| { |
| using EnumType = Globals::ThreeLevelAutoEnum; |
| switch (val) |
| { |
| case EnumType::kAuto: |
| case EnumType::kLow: |
| case EnumType::kMedium: |
| case EnumType::kHigh: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| static auto __attribute__((unused)) EnsureKnownEnumValue(Globals::WebRTCEndReasonEnum val) |
| { |
| using EnumType = Globals::WebRTCEndReasonEnum; |
| switch (val) |
| { |
| case EnumType::kIceFailed: |
| case EnumType::kIceTimeout: |
| case EnumType::kUserHangup: |
| case EnumType::kUserBusy: |
| case EnumType::kReplaced: |
| case EnumType::kNoUserMedia: |
| case EnumType::kInviteTimeout: |
| case EnumType::kAnsweredElsewhere: |
| case EnumType::kOutOfResources: |
| case EnumType::kMediaTimeout: |
| case EnumType::kLowPower: |
| case EnumType::kUnknownReason: |
| return val; |
| default: |
| return EnumType::kUnknownEnumValue; |
| } |
| } |
| } // namespace Clusters |
| } // namespace app |
| } // namespace chip |