{{> header}}

{{#if (chip_has_client_clusters)}}
// Prevent multiple inclusion
#pragma once

#include <app-common/zap-generated/ids/Clusters.h>
#include <app-common/zap-generated/ids/Commands.h>

#include <controller/CHIPCluster.h>
#include <lib/core/CHIPCallback.h>
#include <lib/support/Span.h>

namespace chip {
namespace Controller {

{{#chip_client_clusters}}
class DLL_EXPORT {{asUpperCamelCase name}}Cluster : public ClusterBase
{
public:
    {{asUpperCamelCase name}}Cluster(Messaging::ExchangeManager & exchangeManager, const SessionHandle & session, EndpointId endpoint) : ClusterBase(exchangeManager, session, app::Clusters::{{asUpperCamelCase name}}::Id, endpoint) {}
    ~{{asUpperCamelCase name}}Cluster() {}
};

{{/chip_client_clusters}}
} // namespace Controller
} // namespace chip
{{/if}}
