blob: 9313cb4dffbba7fc5270f313dd2659f5f664d360 [file] [log] [blame]
#pragma once
#include <new>
{%- for cluster in clusters %}
{%- if cluster | dynamicCluster(idl) %}
#include "bridge/{{cluster.name}}.h"
{%- endif %}
{%- endfor %}
namespace clusters {
struct ClusterInfo
{
chip::ClusterId id;
const char *name;
uint16_t size;
GeneratedCluster* (*ctor)(void*);
} static const kKnownClusters[] = {
{% for cluster in clusters %}
{%- if cluster | dynamicCluster(idl) %}
{
{{cluster.code}},
"{{cluster.name}}",
sizeof({{cluster.name}}Cluster),
[](void *mem) -> GeneratedCluster* {
return new(mem) {{cluster.name}}Cluster();
},
},
{%- endif %}
{%- endfor %}
};
}