blob: a9d96ae336c88a695b9c6e32ff4a63bfc60253a4 [file] [log] [blame]
{{>header}}
/**
* @file
* This file contains declarations for accessors around clusters attributes.
*/
#pragma once
#include <app/data-model/Nullable.h>
#include <app/util/af-types.h>
#include <app-common/zap-generated/cluster-objects.h>
#include <lib/support/Span.h>
namespace chip {
namespace app {
namespace Clusters {
{{#zcl_clusters}}
{{#zcl_attributes_server}}
{{#first}}
namespace {{asUpperCamelCase parent.label}} {
namespace Attributes {
{{/first}}
{{#if_is_struct type}}
{{else if (canHaveSimpleAccessors this)}}
namespace {{asUpperCamelCase label}} {
EmberAfStatus Get(chip::EndpointId endpoint, {{accessorGetterType this}} value); // {{type}} {{isArray}}
EmberAfStatus Set(chip::EndpointId endpoint, {{zapTypeToEncodableClusterObjectType type ns=parent.name forceNotNullable=true forceNotOptional=true}} value);
{{#if isNullable}}
EmberAfStatus SetNull(chip::EndpointId endpoint);
EmberAfStatus Set(chip::EndpointId endpoint, {{zapTypeToEncodableClusterObjectType type ns=parent.name isArgument=true forceNotOptional=true}} value);
{{/if}}
} // namespace {{asUpperCamelCase label}}
{{/if_is_struct}}
{{#last}}
} // namespace Attributes
} // {{asUpperCamelCase parent.label}}
{{/last}}
{{/zcl_attributes_server}}
{{/zcl_clusters}}
} // Clusters
} // app
} // chip