blob: 88cadd44738a0d77eda0846d0312474badfb00b8 [file] [log] [blame]
{{> header}}
#pragma once
#include <stdint.h>
#include <app-common/zap-generated/enums.h>
namespace chip {
namespace app {
namespace Clusters {
{{#zcl_clusters}}
namespace {{asUpperCamelCase name}} {
{{#zcl_enums}}
{{#if (isWeaklyTypedEnum label)}}
// 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}}
// Enum for {{label}}
enum class {{asType label}} : {{asUnderlyingZclType name}} {
{{#zcl_enum_items}}
k{{asUpperCamelCase label}} = {{asHex value 2}},
{{/zcl_enum_items}}
kUnknownEnumValue = {{first_unused_enum_value mode="first_unused"}},
};
{{#if (isWeaklyTypedEnum label)}}
#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
using {{asType label}} = EmberAf{{asType label}};
static {{asType label}} __attribute__((unused)) k{{asType label}}kUnknownEnumValue = static_cast<{{asType label}}>({{first_unused_enum_value mode="first_unused"}});
#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM
{{/if}}
{{/zcl_enums}}
{{#zcl_bitmaps}}
// Bitmap for {{label}}
enum class {{asType label}} : {{asUnderlyingZclType name}} {
{{#zcl_bitmap_items}}
k{{asUpperCamelCase label}} = {{asHex mask}},
{{/zcl_bitmap_items}}
};
{{/zcl_bitmaps}}
} // namespace {{asUpperCamelCase name}}
{{/zcl_clusters}}
} // namespace Clusters
} // namespace app
} // namespace chip