blob: e673a7af1852787e3e1961d195457a04e9264994 [file] [log] [blame]
{{> header}}
#pragma once
#include <app-common/zap-generated/cluster-enums.h>
namespace chip {
namespace app {
namespace Clusters {
{{#zcl_clusters}}
{{#zcl_enums}}
static auto __attribute__((unused)) EnsureKnownEnumValue({{asUpperCamelCase ../name}}::{{asType label}} val)
{
using EnumType = {{asUpperCamelCase ../name}}::{{asType label}};
switch (val) {
{{#if (isInConfigList label "WeakEnums")}}
// 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
{{/if}}
{{#zcl_enum_items}}
case EnumType::k{{asUpperCamelCase label}}:
{{/zcl_enum_items}}
{{#if (isInConfigList label "WeakEnums")}}
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
{{#zcl_enum_items}}
case EMBER_ZCL_{{asDelimitedMacro parent.label}}_{{asDelimitedMacro label}}:
{{/zcl_enum_items}}
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
{{/if}}
return val;
default:
return static_cast<EnumType>({{first_unused_enum_value mode="first_unused"}});
}
}
{{/zcl_enums}}
{{/zcl_clusters}}
} // namespace Clusters
} // namespace app
} // namespace chip