blob: fa865ee00ead609ebf92c544026ac0c2fca48c30 [file] [log] [blame]
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
#import "MTRAttributeTLVValueDecoder_Internal.h"
#import "MTRStructsObjc.h"
#include <app-common/zap-generated/cluster-objects.h>
#include <app-common/zap-generated/ids/Attributes.h>
#include <app-common/zap-generated/ids/Clusters.h>
#include <app/data-model/DecodableList.h>
#include <app/data-model/Decode.h>
#include <lib/support/TypeTraits.h>
using namespace chip;
using namespace chip::app;
id MTRDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader & aReader, CHIP_ERROR * aError)
{
switch (aPath.mClusterId) {
case Clusters::Identify::Id: {
using namespace Clusters::Identify;
switch (aPath.mAttributeId) {
case Attributes::IdentifyTime::Id: {
using TypeInfo = Attributes::IdentifyTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::IdentifyType::Id: {
using TypeInfo = Attributes::IdentifyType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Groups::Id: {
using namespace Clusters::Groups;
switch (aPath.mAttributeId) {
case Attributes::NameSupport::Id: {
using TypeInfo = Attributes::NameSupport::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Scenes::Id: {
using namespace Clusters::Scenes;
switch (aPath.mAttributeId) {
case Attributes::SceneCount::Id: {
using TypeInfo = Attributes::SceneCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CurrentScene::Id: {
using TypeInfo = Attributes::CurrentScene::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CurrentGroup::Id: {
using TypeInfo = Attributes::CurrentGroup::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::SceneValid::Id: {
using TypeInfo = Attributes::SceneValid::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::NameSupport::Id: {
using TypeInfo = Attributes::NameSupport::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::LastConfiguredBy::Id: {
using TypeInfo = Attributes::LastConfiguredBy::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::OnOff::Id: {
using namespace Clusters::OnOff;
switch (aPath.mAttributeId) {
case Attributes::OnOff::Id: {
using TypeInfo = Attributes::OnOff::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::GlobalSceneControl::Id: {
using TypeInfo = Attributes::GlobalSceneControl::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::OnTime::Id: {
using TypeInfo = Attributes::OnTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::OffWaitTime::Id: {
using TypeInfo = Attributes::OffWaitTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::StartUpOnOff::Id: {
using TypeInfo = Attributes::StartUpOnOff::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::OnOffSwitchConfiguration::Id: {
using namespace Clusters::OnOffSwitchConfiguration;
switch (aPath.mAttributeId) {
case Attributes::SwitchType::Id: {
using TypeInfo = Attributes::SwitchType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::SwitchActions::Id: {
using TypeInfo = Attributes::SwitchActions::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::LevelControl::Id: {
using namespace Clusters::LevelControl;
switch (aPath.mAttributeId) {
case Attributes::CurrentLevel::Id: {
using TypeInfo = Attributes::CurrentLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::RemainingTime::Id: {
using TypeInfo = Attributes::RemainingTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::MinLevel::Id: {
using TypeInfo = Attributes::MinLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MaxLevel::Id: {
using TypeInfo = Attributes::MaxLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CurrentFrequency::Id: {
using TypeInfo = Attributes::CurrentFrequency::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::MinFrequency::Id: {
using TypeInfo = Attributes::MinFrequency::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::MaxFrequency::Id: {
using TypeInfo = Attributes::MaxFrequency::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Options::Id: {
using TypeInfo = Attributes::Options::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::OnOffTransitionTime::Id: {
using TypeInfo = Attributes::OnOffTransitionTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::OnLevel::Id: {
using TypeInfo = Attributes::OnLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::OnTransitionTime::Id: {
using TypeInfo = Attributes::OnTransitionTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::OffTransitionTime::Id: {
using TypeInfo = Attributes::OffTransitionTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::DefaultMoveRate::Id: {
using TypeInfo = Attributes::DefaultMoveRate::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::StartUpCurrentLevel::Id: {
using TypeInfo = Attributes::StartUpCurrentLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::BinaryInputBasic::Id: {
using namespace Clusters::BinaryInputBasic;
switch (aPath.mAttributeId) {
case Attributes::ActiveText::Id: {
using TypeInfo = Attributes::ActiveText::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::Description::Id: {
using TypeInfo = Attributes::Description::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::InactiveText::Id: {
using TypeInfo = Attributes::InactiveText::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::OutOfService::Id: {
using TypeInfo = Attributes::OutOfService::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::Polarity::Id: {
using TypeInfo = Attributes::Polarity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::PresentValue::Id: {
using TypeInfo = Attributes::PresentValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::Reliability::Id: {
using TypeInfo = Attributes::Reliability::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::StatusFlags::Id: {
using TypeInfo = Attributes::StatusFlags::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ApplicationType::Id: {
using TypeInfo = Attributes::ApplicationType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Descriptor::Id: {
using namespace Clusters::Descriptor;
switch (aPath.mAttributeId) {
case Attributes::DeviceList::Id: {
using TypeInfo = Attributes::DeviceList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRDescriptorClusterDeviceType * newElement_0;
newElement_0 = [MTRDescriptorClusterDeviceType new];
newElement_0.type = [NSNumber numberWithUnsignedInt:entry_0.type];
newElement_0.revision = [NSNumber numberWithUnsignedShort:entry_0.revision];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ServerList::Id: {
using TypeInfo = Attributes::ServerList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ClientList::Id: {
using TypeInfo = Attributes::ClientList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::PartsList::Id: {
using TypeInfo = Attributes::PartsList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedShort:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Binding::Id: {
using namespace Clusters::Binding;
switch (aPath.mAttributeId) {
case Attributes::Binding::Id: {
using TypeInfo = Attributes::Binding::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRBindingClusterTargetStruct * newElement_0;
newElement_0 = [MTRBindingClusterTargetStruct new];
if (entry_0.node.HasValue()) {
newElement_0.node = [NSNumber numberWithUnsignedLongLong:entry_0.node.Value()];
} else {
newElement_0.node = nil;
}
if (entry_0.group.HasValue()) {
newElement_0.group = [NSNumber numberWithUnsignedShort:entry_0.group.Value()];
} else {
newElement_0.group = nil;
}
if (entry_0.endpoint.HasValue()) {
newElement_0.endpoint = [NSNumber numberWithUnsignedShort:entry_0.endpoint.Value()];
} else {
newElement_0.endpoint = nil;
}
if (entry_0.cluster.HasValue()) {
newElement_0.cluster = [NSNumber numberWithUnsignedInt:entry_0.cluster.Value()];
} else {
newElement_0.cluster = nil;
}
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::AccessControl::Id: {
using namespace Clusters::AccessControl;
switch (aPath.mAttributeId) {
case Attributes::Acl::Id: {
using TypeInfo = Attributes::Acl::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRAccessControlClusterAccessControlEntry * newElement_0;
newElement_0 = [MTRAccessControlClusterAccessControlEntry new];
newElement_0.privilege = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.privilege)];
newElement_0.authMode = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.authMode)];
if (entry_0.subjects.IsNull()) {
newElement_0.subjects = nil;
} else {
{ // Scope for our temporary variables
auto * array_3 = [NSMutableArray new];
auto iter_3 = entry_0.subjects.Value().begin();
while (iter_3.Next()) {
auto & entry_3 = iter_3.GetValue();
NSNumber * newElement_3;
newElement_3 = [NSNumber numberWithUnsignedLongLong:entry_3];
[array_3 addObject:newElement_3];
}
CHIP_ERROR err = iter_3.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.subjects = array_3;
}
}
if (entry_0.targets.IsNull()) {
newElement_0.targets = nil;
} else {
{ // Scope for our temporary variables
auto * array_3 = [NSMutableArray new];
auto iter_3 = entry_0.targets.Value().begin();
while (iter_3.Next()) {
auto & entry_3 = iter_3.GetValue();
MTRAccessControlClusterTarget * newElement_3;
newElement_3 = [MTRAccessControlClusterTarget new];
if (entry_3.cluster.IsNull()) {
newElement_3.cluster = nil;
} else {
newElement_3.cluster = [NSNumber numberWithUnsignedInt:entry_3.cluster.Value()];
}
if (entry_3.endpoint.IsNull()) {
newElement_3.endpoint = nil;
} else {
newElement_3.endpoint = [NSNumber numberWithUnsignedShort:entry_3.endpoint.Value()];
}
if (entry_3.deviceType.IsNull()) {
newElement_3.deviceType = nil;
} else {
newElement_3.deviceType = [NSNumber numberWithUnsignedInt:entry_3.deviceType.Value()];
}
[array_3 addObject:newElement_3];
}
CHIP_ERROR err = iter_3.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.targets = array_3;
}
}
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::Extension::Id: {
using TypeInfo = Attributes::Extension::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRAccessControlClusterExtensionEntry * newElement_0;
newElement_0 = [MTRAccessControlClusterExtensionEntry new];
newElement_0.data = [NSData dataWithBytes:entry_0.data.data() length:entry_0.data.size()];
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::SubjectsPerAccessControlEntry::Id: {
using TypeInfo = Attributes::SubjectsPerAccessControlEntry::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::TargetsPerAccessControlEntry::Id: {
using TypeInfo = Attributes::TargetsPerAccessControlEntry::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AccessControlEntriesPerFabric::Id: {
using TypeInfo = Attributes::AccessControlEntriesPerFabric::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::BridgedActions::Id: {
using namespace Clusters::BridgedActions;
switch (aPath.mAttributeId) {
case Attributes::ActionList::Id: {
using TypeInfo = Attributes::ActionList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRBridgedActionsClusterActionStruct * newElement_0;
newElement_0 = [MTRBridgedActionsClusterActionStruct new];
newElement_0.actionID = [NSNumber numberWithUnsignedShort:entry_0.actionID];
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.data()
length:entry_0.name.size()
encoding:NSUTF8StringEncoding];
newElement_0.type = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.type)];
newElement_0.endpointListID = [NSNumber numberWithUnsignedShort:entry_0.endpointListID];
newElement_0.supportedCommands = [NSNumber numberWithUnsignedShort:entry_0.supportedCommands];
newElement_0.status = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.status)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::EndpointList::Id: {
using TypeInfo = Attributes::EndpointList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRBridgedActionsClusterEndpointListStruct * newElement_0;
newElement_0 = [MTRBridgedActionsClusterEndpointListStruct new];
newElement_0.endpointListID = [NSNumber numberWithUnsignedShort:entry_0.endpointListID];
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.data()
length:entry_0.name.size()
encoding:NSUTF8StringEncoding];
newElement_0.type = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.type)];
{ // Scope for our temporary variables
auto * array_2 = [NSMutableArray new];
auto iter_2 = entry_0.endpoints.begin();
while (iter_2.Next()) {
auto & entry_2 = iter_2.GetValue();
NSNumber * newElement_2;
newElement_2 = [NSNumber numberWithUnsignedShort:entry_2];
[array_2 addObject:newElement_2];
}
CHIP_ERROR err = iter_2.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.endpoints = array_2;
}
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::SetupUrl::Id: {
using TypeInfo = Attributes::SetupUrl::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Basic::Id: {
using namespace Clusters::Basic;
switch (aPath.mAttributeId) {
case Attributes::DataModelRevision::Id: {
using TypeInfo = Attributes::DataModelRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::VendorName::Id: {
using TypeInfo = Attributes::VendorName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::VendorID::Id: {
using TypeInfo = Attributes::VendorID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ProductName::Id: {
using TypeInfo = Attributes::ProductName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ProductID::Id: {
using TypeInfo = Attributes::ProductID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NodeLabel::Id: {
using TypeInfo = Attributes::NodeLabel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::Location::Id: {
using TypeInfo = Attributes::Location::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::HardwareVersion::Id: {
using TypeInfo = Attributes::HardwareVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::HardwareVersionString::Id: {
using TypeInfo = Attributes::HardwareVersionString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::SoftwareVersion::Id: {
using TypeInfo = Attributes::SoftwareVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::SoftwareVersionString::Id: {
using TypeInfo = Attributes::SoftwareVersionString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ManufacturingDate::Id: {
using TypeInfo = Attributes::ManufacturingDate::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::PartNumber::Id: {
using TypeInfo = Attributes::PartNumber::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ProductURL::Id: {
using TypeInfo = Attributes::ProductURL::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ProductLabel::Id: {
using TypeInfo = Attributes::ProductLabel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::SerialNumber::Id: {
using TypeInfo = Attributes::SerialNumber::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::LocalConfigDisabled::Id: {
using TypeInfo = Attributes::LocalConfigDisabled::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::Reachable::Id: {
using TypeInfo = Attributes::Reachable::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::UniqueID::Id: {
using TypeInfo = Attributes::UniqueID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::CapabilityMinima::Id: {
using TypeInfo = Attributes::CapabilityMinima::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRBasicClusterCapabilityMinimaStruct * _Nonnull value;
value = [MTRBasicClusterCapabilityMinimaStruct new];
value.caseSessionsPerFabric = [NSNumber numberWithUnsignedShort:cppValue.caseSessionsPerFabric];
value.subscriptionsPerFabric = [NSNumber numberWithUnsignedShort:cppValue.subscriptionsPerFabric];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::OtaSoftwareUpdateProvider::Id: {
using namespace Clusters::OtaSoftwareUpdateProvider;
switch (aPath.mAttributeId) {
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::OtaSoftwareUpdateRequestor::Id: {
using namespace Clusters::OtaSoftwareUpdateRequestor;
switch (aPath.mAttributeId) {
case Attributes::DefaultOtaProviders::Id: {
using TypeInfo = Attributes::DefaultOtaProviders::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTROtaSoftwareUpdateRequestorClusterProviderLocation * newElement_0;
newElement_0 = [MTROtaSoftwareUpdateRequestorClusterProviderLocation new];
newElement_0.providerNodeID = [NSNumber numberWithUnsignedLongLong:entry_0.providerNodeID];
newElement_0.endpoint = [NSNumber numberWithUnsignedShort:entry_0.endpoint];
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::UpdatePossible::Id: {
using TypeInfo = Attributes::UpdatePossible::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::UpdateState::Id: {
using TypeInfo = Attributes::UpdateState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::UpdateStateProgress::Id: {
using TypeInfo = Attributes::UpdateStateProgress::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::LocalizationConfiguration::Id: {
using namespace Clusters::LocalizationConfiguration;
switch (aPath.mAttributeId) {
case Attributes::ActiveLocale::Id: {
using TypeInfo = Attributes::ActiveLocale::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::SupportedLocales::Id: {
using TypeInfo = Attributes::SupportedLocales::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSString * newElement_0;
newElement_0 = [[NSString alloc] initWithBytes:entry_0.data()
length:entry_0.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::TimeFormatLocalization::Id: {
using namespace Clusters::TimeFormatLocalization;
switch (aPath.mAttributeId) {
case Attributes::HourFormat::Id: {
using TypeInfo = Attributes::HourFormat::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ActiveCalendarType::Id: {
using TypeInfo = Attributes::ActiveCalendarType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::SupportedCalendarTypes::Id: {
using TypeInfo = Attributes::SupportedCalendarTypes::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::UnitLocalization::Id: {
using namespace Clusters::UnitLocalization;
switch (aPath.mAttributeId) {
case Attributes::TemperatureUnit::Id: {
using TypeInfo = Attributes::TemperatureUnit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::PowerSourceConfiguration::Id: {
using namespace Clusters::PowerSourceConfiguration;
switch (aPath.mAttributeId) {
case Attributes::Sources::Id: {
using TypeInfo = Attributes::Sources::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::PowerSource::Id: {
using namespace Clusters::PowerSource;
switch (aPath.mAttributeId) {
case Attributes::Status::Id: {
using TypeInfo = Attributes::Status::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::Order::Id: {
using TypeInfo = Attributes::Order::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::Description::Id: {
using TypeInfo = Attributes::Description::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::WiredAssessedInputVoltage::Id: {
using TypeInfo = Attributes::WiredAssessedInputVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::WiredAssessedInputFrequency::Id: {
using TypeInfo = Attributes::WiredAssessedInputFrequency::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::WiredCurrentType::Id: {
using TypeInfo = Attributes::WiredCurrentType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::WiredAssessedCurrent::Id: {
using TypeInfo = Attributes::WiredAssessedCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::WiredNominalVoltage::Id: {
using TypeInfo = Attributes::WiredNominalVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::WiredMaximumCurrent::Id: {
using TypeInfo = Attributes::WiredMaximumCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::WiredPresent::Id: {
using TypeInfo = Attributes::WiredPresent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::ActiveWiredFaults::Id: {
using TypeInfo = Attributes::ActiveWiredFaults::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::BatVoltage::Id: {
using TypeInfo = Attributes::BatVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::BatPercentRemaining::Id: {
using TypeInfo = Attributes::BatPercentRemaining::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::BatTimeRemaining::Id: {
using TypeInfo = Attributes::BatTimeRemaining::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::BatChargeLevel::Id: {
using TypeInfo = Attributes::BatChargeLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::BatReplacementNeeded::Id: {
using TypeInfo = Attributes::BatReplacementNeeded::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::BatReplaceability::Id: {
using TypeInfo = Attributes::BatReplaceability::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::BatPresent::Id: {
using TypeInfo = Attributes::BatPresent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::ActiveBatFaults::Id: {
using TypeInfo = Attributes::ActiveBatFaults::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::BatReplacementDescription::Id: {
using TypeInfo = Attributes::BatReplacementDescription::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::BatCommonDesignation::Id: {
using TypeInfo = Attributes::BatCommonDesignation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::BatANSIDesignation::Id: {
using TypeInfo = Attributes::BatANSIDesignation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::BatIECDesignation::Id: {
using TypeInfo = Attributes::BatIECDesignation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::BatApprovedChemistry::Id: {
using TypeInfo = Attributes::BatApprovedChemistry::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::BatCapacity::Id: {
using TypeInfo = Attributes::BatCapacity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::BatQuantity::Id: {
using TypeInfo = Attributes::BatQuantity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::BatChargeState::Id: {
using TypeInfo = Attributes::BatChargeState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::BatTimeToFullCharge::Id: {
using TypeInfo = Attributes::BatTimeToFullCharge::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::BatFunctionalWhileCharging::Id: {
using TypeInfo = Attributes::BatFunctionalWhileCharging::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::BatChargingCurrent::Id: {
using TypeInfo = Attributes::BatChargingCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::ActiveBatChargeFaults::Id: {
using TypeInfo = Attributes::ActiveBatChargeFaults::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::GeneralCommissioning::Id: {
using namespace Clusters::GeneralCommissioning;
switch (aPath.mAttributeId) {
case Attributes::Breadcrumb::Id: {
using TypeInfo = Attributes::Breadcrumb::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::BasicCommissioningInfo::Id: {
using TypeInfo = Attributes::BasicCommissioningInfo::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRGeneralCommissioningClusterBasicCommissioningInfo * _Nonnull value;
value = [MTRGeneralCommissioningClusterBasicCommissioningInfo new];
value.failSafeExpiryLengthSeconds = [NSNumber numberWithUnsignedShort:cppValue.failSafeExpiryLengthSeconds];
value.maxCumulativeFailsafeSeconds = [NSNumber numberWithUnsignedShort:cppValue.maxCumulativeFailsafeSeconds];
return value;
}
case Attributes::RegulatoryConfig::Id: {
using TypeInfo = Attributes::RegulatoryConfig::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::LocationCapability::Id: {
using TypeInfo = Attributes::LocationCapability::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::SupportsConcurrentConnection::Id: {
using TypeInfo = Attributes::SupportsConcurrentConnection::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::NetworkCommissioning::Id: {
using namespace Clusters::NetworkCommissioning;
switch (aPath.mAttributeId) {
case Attributes::MaxNetworks::Id: {
using TypeInfo = Attributes::MaxNetworks::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::Networks::Id: {
using TypeInfo = Attributes::Networks::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRNetworkCommissioningClusterNetworkInfo * newElement_0;
newElement_0 = [MTRNetworkCommissioningClusterNetworkInfo new];
newElement_0.networkID = [NSData dataWithBytes:entry_0.networkID.data() length:entry_0.networkID.size()];
newElement_0.connected = [NSNumber numberWithBool:entry_0.connected];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ScanMaxTimeSeconds::Id: {
using TypeInfo = Attributes::ScanMaxTimeSeconds::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ConnectMaxTimeSeconds::Id: {
using TypeInfo = Attributes::ConnectMaxTimeSeconds::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::InterfaceEnabled::Id: {
using TypeInfo = Attributes::InterfaceEnabled::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::LastNetworkingStatus::Id: {
using TypeInfo = Attributes::LastNetworkingStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::LastNetworkID::Id: {
using TypeInfo = Attributes::LastNetworkID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSData dataWithBytes:cppValue.Value().data() length:cppValue.Value().size()];
}
return value;
}
case Attributes::LastConnectErrorValue::Id: {
using TypeInfo = Attributes::LastConnectErrorValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithInt:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::DiagnosticLogs::Id: {
using namespace Clusters::DiagnosticLogs;
switch (aPath.mAttributeId) {
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::GeneralDiagnostics::Id: {
using namespace Clusters::GeneralDiagnostics;
switch (aPath.mAttributeId) {
case Attributes::NetworkInterfaces::Id: {
using TypeInfo = Attributes::NetworkInterfaces::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRGeneralDiagnosticsClusterNetworkInterfaceType * newElement_0;
newElement_0 = [MTRGeneralDiagnosticsClusterNetworkInterfaceType new];
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.data()
length:entry_0.name.size()
encoding:NSUTF8StringEncoding];
newElement_0.isOperational = [NSNumber numberWithBool:entry_0.isOperational];
if (entry_0.offPremiseServicesReachableIPv4.IsNull()) {
newElement_0.offPremiseServicesReachableIPv4 = nil;
} else {
newElement_0.offPremiseServicesReachableIPv4 =
[NSNumber numberWithBool:entry_0.offPremiseServicesReachableIPv4.Value()];
}
if (entry_0.offPremiseServicesReachableIPv6.IsNull()) {
newElement_0.offPremiseServicesReachableIPv6 = nil;
} else {
newElement_0.offPremiseServicesReachableIPv6 =
[NSNumber numberWithBool:entry_0.offPremiseServicesReachableIPv6.Value()];
}
newElement_0.hardwareAddress = [NSData dataWithBytes:entry_0.hardwareAddress.data()
length:entry_0.hardwareAddress.size()];
{ // Scope for our temporary variables
auto * array_2 = [NSMutableArray new];
auto iter_2 = entry_0.IPv4Addresses.begin();
while (iter_2.Next()) {
auto & entry_2 = iter_2.GetValue();
NSData * newElement_2;
newElement_2 = [NSData dataWithBytes:entry_2.data() length:entry_2.size()];
[array_2 addObject:newElement_2];
}
CHIP_ERROR err = iter_2.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.iPv4Addresses = array_2;
}
{ // Scope for our temporary variables
auto * array_2 = [NSMutableArray new];
auto iter_2 = entry_0.IPv6Addresses.begin();
while (iter_2.Next()) {
auto & entry_2 = iter_2.GetValue();
NSData * newElement_2;
newElement_2 = [NSData dataWithBytes:entry_2.data() length:entry_2.size()];
[array_2 addObject:newElement_2];
}
CHIP_ERROR err = iter_2.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.iPv6Addresses = array_2;
}
newElement_0.type = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.type)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::RebootCount::Id: {
using TypeInfo = Attributes::RebootCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::UpTime::Id: {
using TypeInfo = Attributes::UpTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::TotalOperationalHours::Id: {
using TypeInfo = Attributes::TotalOperationalHours::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::BootReasons::Id: {
using TypeInfo = Attributes::BootReasons::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ActiveHardwareFaults::Id: {
using TypeInfo = Attributes::ActiveHardwareFaults::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ActiveRadioFaults::Id: {
using TypeInfo = Attributes::ActiveRadioFaults::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ActiveNetworkFaults::Id: {
using TypeInfo = Attributes::ActiveNetworkFaults::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::TestEventTriggersEnabled::Id: {
using TypeInfo = Attributes::TestEventTriggersEnabled::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::SoftwareDiagnostics::Id: {
using namespace Clusters::SoftwareDiagnostics;
switch (aPath.mAttributeId) {
case Attributes::ThreadMetrics::Id: {
using TypeInfo = Attributes::ThreadMetrics::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRSoftwareDiagnosticsClusterThreadMetrics * newElement_0;
newElement_0 = [MTRSoftwareDiagnosticsClusterThreadMetrics new];
newElement_0.id = [NSNumber numberWithUnsignedLongLong:entry_0.id];
if (entry_0.name.HasValue()) {
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.Value().data()
length:entry_0.name.Value().size()
encoding:NSUTF8StringEncoding];
} else {
newElement_0.name = nil;
}
if (entry_0.stackFreeCurrent.HasValue()) {
newElement_0.stackFreeCurrent = [NSNumber numberWithUnsignedInt:entry_0.stackFreeCurrent.Value()];
} else {
newElement_0.stackFreeCurrent = nil;
}
if (entry_0.stackFreeMinimum.HasValue()) {
newElement_0.stackFreeMinimum = [NSNumber numberWithUnsignedInt:entry_0.stackFreeMinimum.Value()];
} else {
newElement_0.stackFreeMinimum = nil;
}
if (entry_0.stackSize.HasValue()) {
newElement_0.stackSize = [NSNumber numberWithUnsignedInt:entry_0.stackSize.Value()];
} else {
newElement_0.stackSize = nil;
}
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentHeapFree::Id: {
using TypeInfo = Attributes::CurrentHeapFree::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::CurrentHeapUsed::Id: {
using TypeInfo = Attributes::CurrentHeapUsed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::CurrentHeapHighWatermark::Id: {
using TypeInfo = Attributes::CurrentHeapHighWatermark::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ThreadNetworkDiagnostics::Id: {
using namespace Clusters::ThreadNetworkDiagnostics;
switch (aPath.mAttributeId) {
case Attributes::Channel::Id: {
using TypeInfo = Attributes::Channel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::RoutingRole::Id: {
using TypeInfo = Attributes::RoutingRole::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::NetworkName::Id: {
using TypeInfo = Attributes::NetworkName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [[NSString alloc] initWithBytes:cppValue.Value().data()
length:cppValue.Value().size()
encoding:NSUTF8StringEncoding];
}
return value;
}
case Attributes::PanId::Id: {
using TypeInfo = Attributes::PanId::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::ExtendedPanId::Id: {
using TypeInfo = Attributes::ExtendedPanId::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::MeshLocalPrefix::Id: {
using TypeInfo = Attributes::MeshLocalPrefix::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSData dataWithBytes:cppValue.Value().data() length:cppValue.Value().size()];
}
return value;
}
case Attributes::OverrunCount::Id: {
using TypeInfo = Attributes::OverrunCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::NeighborTableList::Id: {
using TypeInfo = Attributes::NeighborTableList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRThreadNetworkDiagnosticsClusterNeighborTable * newElement_0;
newElement_0 = [MTRThreadNetworkDiagnosticsClusterNeighborTable new];
newElement_0.extAddress = [NSNumber numberWithUnsignedLongLong:entry_0.extAddress];
newElement_0.age = [NSNumber numberWithUnsignedInt:entry_0.age];
newElement_0.rloc16 = [NSNumber numberWithUnsignedShort:entry_0.rloc16];
newElement_0.linkFrameCounter = [NSNumber numberWithUnsignedInt:entry_0.linkFrameCounter];
newElement_0.mleFrameCounter = [NSNumber numberWithUnsignedInt:entry_0.mleFrameCounter];
newElement_0.lqi = [NSNumber numberWithUnsignedChar:entry_0.lqi];
if (entry_0.averageRssi.IsNull()) {
newElement_0.averageRssi = nil;
} else {
newElement_0.averageRssi = [NSNumber numberWithChar:entry_0.averageRssi.Value()];
}
if (entry_0.lastRssi.IsNull()) {
newElement_0.lastRssi = nil;
} else {
newElement_0.lastRssi = [NSNumber numberWithChar:entry_0.lastRssi.Value()];
}
newElement_0.frameErrorRate = [NSNumber numberWithUnsignedChar:entry_0.frameErrorRate];
newElement_0.messageErrorRate = [NSNumber numberWithUnsignedChar:entry_0.messageErrorRate];
newElement_0.rxOnWhenIdle = [NSNumber numberWithBool:entry_0.rxOnWhenIdle];
newElement_0.fullThreadDevice = [NSNumber numberWithBool:entry_0.fullThreadDevice];
newElement_0.fullNetworkData = [NSNumber numberWithBool:entry_0.fullNetworkData];
newElement_0.isChild = [NSNumber numberWithBool:entry_0.isChild];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::RouteTableList::Id: {
using TypeInfo = Attributes::RouteTableList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRThreadNetworkDiagnosticsClusterRouteTable * newElement_0;
newElement_0 = [MTRThreadNetworkDiagnosticsClusterRouteTable new];
newElement_0.extAddress = [NSNumber numberWithUnsignedLongLong:entry_0.extAddress];
newElement_0.rloc16 = [NSNumber numberWithUnsignedShort:entry_0.rloc16];
newElement_0.routerId = [NSNumber numberWithUnsignedChar:entry_0.routerId];
newElement_0.nextHop = [NSNumber numberWithUnsignedChar:entry_0.nextHop];
newElement_0.pathCost = [NSNumber numberWithUnsignedChar:entry_0.pathCost];
newElement_0.lqiIn = [NSNumber numberWithUnsignedChar:entry_0.LQIIn];
newElement_0.lqiOut = [NSNumber numberWithUnsignedChar:entry_0.LQIOut];
newElement_0.age = [NSNumber numberWithUnsignedChar:entry_0.age];
newElement_0.allocated = [NSNumber numberWithBool:entry_0.allocated];
newElement_0.linkEstablished = [NSNumber numberWithBool:entry_0.linkEstablished];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::PartitionId::Id: {
using TypeInfo = Attributes::PartitionId::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::Weighting::Id: {
using TypeInfo = Attributes::Weighting::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::DataVersion::Id: {
using TypeInfo = Attributes::DataVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::StableDataVersion::Id: {
using TypeInfo = Attributes::StableDataVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::LeaderRouterId::Id: {
using TypeInfo = Attributes::LeaderRouterId::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::DetachedRoleCount::Id: {
using TypeInfo = Attributes::DetachedRoleCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ChildRoleCount::Id: {
using TypeInfo = Attributes::ChildRoleCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RouterRoleCount::Id: {
using TypeInfo = Attributes::RouterRoleCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::LeaderRoleCount::Id: {
using TypeInfo = Attributes::LeaderRoleCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AttachAttemptCount::Id: {
using TypeInfo = Attributes::AttachAttemptCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PartitionIdChangeCount::Id: {
using TypeInfo = Attributes::PartitionIdChangeCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BetterPartitionAttachAttemptCount::Id: {
using TypeInfo = Attributes::BetterPartitionAttachAttemptCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ParentChangeCount::Id: {
using TypeInfo = Attributes::ParentChangeCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::TxTotalCount::Id: {
using TypeInfo = Attributes::TxTotalCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxUnicastCount::Id: {
using TypeInfo = Attributes::TxUnicastCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxBroadcastCount::Id: {
using TypeInfo = Attributes::TxBroadcastCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxAckRequestedCount::Id: {
using TypeInfo = Attributes::TxAckRequestedCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxAckedCount::Id: {
using TypeInfo = Attributes::TxAckedCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxNoAckRequestedCount::Id: {
using TypeInfo = Attributes::TxNoAckRequestedCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxDataCount::Id: {
using TypeInfo = Attributes::TxDataCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxDataPollCount::Id: {
using TypeInfo = Attributes::TxDataPollCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxBeaconCount::Id: {
using TypeInfo = Attributes::TxBeaconCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxBeaconRequestCount::Id: {
using TypeInfo = Attributes::TxBeaconRequestCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxOtherCount::Id: {
using TypeInfo = Attributes::TxOtherCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxRetryCount::Id: {
using TypeInfo = Attributes::TxRetryCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxDirectMaxRetryExpiryCount::Id: {
using TypeInfo = Attributes::TxDirectMaxRetryExpiryCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxIndirectMaxRetryExpiryCount::Id: {
using TypeInfo = Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxErrCcaCount::Id: {
using TypeInfo = Attributes::TxErrCcaCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxErrAbortCount::Id: {
using TypeInfo = Attributes::TxErrAbortCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::TxErrBusyChannelCount::Id: {
using TypeInfo = Attributes::TxErrBusyChannelCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxTotalCount::Id: {
using TypeInfo = Attributes::RxTotalCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxUnicastCount::Id: {
using TypeInfo = Attributes::RxUnicastCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxBroadcastCount::Id: {
using TypeInfo = Attributes::RxBroadcastCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxDataCount::Id: {
using TypeInfo = Attributes::RxDataCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxDataPollCount::Id: {
using TypeInfo = Attributes::RxDataPollCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxBeaconCount::Id: {
using TypeInfo = Attributes::RxBeaconCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxBeaconRequestCount::Id: {
using TypeInfo = Attributes::RxBeaconRequestCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxOtherCount::Id: {
using TypeInfo = Attributes::RxOtherCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxAddressFilteredCount::Id: {
using TypeInfo = Attributes::RxAddressFilteredCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxDestAddrFilteredCount::Id: {
using TypeInfo = Attributes::RxDestAddrFilteredCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxDuplicatedCount::Id: {
using TypeInfo = Attributes::RxDuplicatedCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxErrNoFrameCount::Id: {
using TypeInfo = Attributes::RxErrNoFrameCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxErrUnknownNeighborCount::Id: {
using TypeInfo = Attributes::RxErrUnknownNeighborCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxErrInvalidSrcAddrCount::Id: {
using TypeInfo = Attributes::RxErrInvalidSrcAddrCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxErrSecCount::Id: {
using TypeInfo = Attributes::RxErrSecCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxErrFcsCount::Id: {
using TypeInfo = Attributes::RxErrFcsCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::RxErrOtherCount::Id: {
using TypeInfo = Attributes::RxErrOtherCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ActiveTimestamp::Id: {
using TypeInfo = Attributes::ActiveTimestamp::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::PendingTimestamp::Id: {
using TypeInfo = Attributes::PendingTimestamp::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::Delay::Id: {
using TypeInfo = Attributes::Delay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::SecurityPolicy::Id: {
using TypeInfo = Attributes::SecurityPolicy::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRThreadNetworkDiagnosticsClusterSecurityPolicy * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRThreadNetworkDiagnosticsClusterSecurityPolicy new];
value.rotationTime = [NSNumber numberWithUnsignedShort:cppValue.Value().rotationTime];
value.flags = [NSNumber numberWithUnsignedShort:cppValue.Value().flags];
}
return value;
}
case Attributes::ChannelPage0Mask::Id: {
using TypeInfo = Attributes::ChannelPage0Mask::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSData dataWithBytes:cppValue.Value().data() length:cppValue.Value().size()];
}
return value;
}
case Attributes::OperationalDatasetComponents::Id: {
using TypeInfo = Attributes::OperationalDatasetComponents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents new];
value.activeTimestampPresent = [NSNumber numberWithBool:cppValue.Value().activeTimestampPresent];
value.pendingTimestampPresent = [NSNumber numberWithBool:cppValue.Value().pendingTimestampPresent];
value.masterKeyPresent = [NSNumber numberWithBool:cppValue.Value().masterKeyPresent];
value.networkNamePresent = [NSNumber numberWithBool:cppValue.Value().networkNamePresent];
value.extendedPanIdPresent = [NSNumber numberWithBool:cppValue.Value().extendedPanIdPresent];
value.meshLocalPrefixPresent = [NSNumber numberWithBool:cppValue.Value().meshLocalPrefixPresent];
value.delayPresent = [NSNumber numberWithBool:cppValue.Value().delayPresent];
value.panIdPresent = [NSNumber numberWithBool:cppValue.Value().panIdPresent];
value.channelPresent = [NSNumber numberWithBool:cppValue.Value().channelPresent];
value.pskcPresent = [NSNumber numberWithBool:cppValue.Value().pskcPresent];
value.securityPolicyPresent = [NSNumber numberWithBool:cppValue.Value().securityPolicyPresent];
value.channelMaskPresent = [NSNumber numberWithBool:cppValue.Value().channelMaskPresent];
}
return value;
}
case Attributes::ActiveNetworkFaultsList::Id: {
using TypeInfo = Attributes::ActiveNetworkFaultsList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::WiFiNetworkDiagnostics::Id: {
using namespace Clusters::WiFiNetworkDiagnostics;
switch (aPath.mAttributeId) {
case Attributes::Bssid::Id: {
using TypeInfo = Attributes::Bssid::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSData dataWithBytes:cppValue.Value().data() length:cppValue.Value().size()];
}
return value;
}
case Attributes::SecurityType::Id: {
using TypeInfo = Attributes::SecurityType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::WiFiVersion::Id: {
using TypeInfo = Attributes::WiFiVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::ChannelNumber::Id: {
using TypeInfo = Attributes::ChannelNumber::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::Rssi::Id: {
using TypeInfo = Attributes::Rssi::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithChar:cppValue.Value()];
}
return value;
}
case Attributes::BeaconLostCount::Id: {
using TypeInfo = Attributes::BeaconLostCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::BeaconRxCount::Id: {
using TypeInfo = Attributes::BeaconRxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::PacketMulticastRxCount::Id: {
using TypeInfo = Attributes::PacketMulticastRxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::PacketMulticastTxCount::Id: {
using TypeInfo = Attributes::PacketMulticastTxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::PacketUnicastRxCount::Id: {
using TypeInfo = Attributes::PacketUnicastRxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::PacketUnicastTxCount::Id: {
using TypeInfo = Attributes::PacketUnicastTxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::CurrentMaxRate::Id: {
using TypeInfo = Attributes::CurrentMaxRate::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::OverrunCount::Id: {
using TypeInfo = Attributes::OverrunCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::EthernetNetworkDiagnostics::Id: {
using namespace Clusters::EthernetNetworkDiagnostics;
switch (aPath.mAttributeId) {
case Attributes::PHYRate::Id: {
using TypeInfo = Attributes::PHYRate::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::FullDuplex::Id: {
using TypeInfo = Attributes::FullDuplex::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithBool:cppValue.Value()];
}
return value;
}
case Attributes::PacketRxCount::Id: {
using TypeInfo = Attributes::PacketRxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::PacketTxCount::Id: {
using TypeInfo = Attributes::PacketTxCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::TxErrCount::Id: {
using TypeInfo = Attributes::TxErrCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::CollisionCount::Id: {
using TypeInfo = Attributes::CollisionCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::OverrunCount::Id: {
using TypeInfo = Attributes::OverrunCount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::CarrierDetect::Id: {
using TypeInfo = Attributes::CarrierDetect::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithBool:cppValue.Value()];
}
return value;
}
case Attributes::TimeSinceReset::Id: {
using TypeInfo = Attributes::TimeSinceReset::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::BridgedDeviceBasic::Id: {
using namespace Clusters::BridgedDeviceBasic;
switch (aPath.mAttributeId) {
case Attributes::VendorName::Id: {
using TypeInfo = Attributes::VendorName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::VendorID::Id: {
using TypeInfo = Attributes::VendorID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ProductName::Id: {
using TypeInfo = Attributes::ProductName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::NodeLabel::Id: {
using TypeInfo = Attributes::NodeLabel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::HardwareVersion::Id: {
using TypeInfo = Attributes::HardwareVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::HardwareVersionString::Id: {
using TypeInfo = Attributes::HardwareVersionString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::SoftwareVersion::Id: {
using TypeInfo = Attributes::SoftwareVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::SoftwareVersionString::Id: {
using TypeInfo = Attributes::SoftwareVersionString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ManufacturingDate::Id: {
using TypeInfo = Attributes::ManufacturingDate::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::PartNumber::Id: {
using TypeInfo = Attributes::PartNumber::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ProductURL::Id: {
using TypeInfo = Attributes::ProductURL::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ProductLabel::Id: {
using TypeInfo = Attributes::ProductLabel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::SerialNumber::Id: {
using TypeInfo = Attributes::SerialNumber::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::Reachable::Id: {
using TypeInfo = Attributes::Reachable::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::UniqueID::Id: {
using TypeInfo = Attributes::UniqueID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Switch::Id: {
using namespace Clusters::Switch;
switch (aPath.mAttributeId) {
case Attributes::NumberOfPositions::Id: {
using TypeInfo = Attributes::NumberOfPositions::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CurrentPosition::Id: {
using TypeInfo = Attributes::CurrentPosition::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MultiPressMax::Id: {
using TypeInfo = Attributes::MultiPressMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::AdministratorCommissioning::Id: {
using namespace Clusters::AdministratorCommissioning;
switch (aPath.mAttributeId) {
case Attributes::WindowStatus::Id: {
using TypeInfo = Attributes::WindowStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::AdminFabricIndex::Id: {
using TypeInfo = Attributes::AdminFabricIndex::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::AdminVendorId::Id: {
using TypeInfo = Attributes::AdminVendorId::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::OperationalCredentials::Id: {
using namespace Clusters::OperationalCredentials;
switch (aPath.mAttributeId) {
case Attributes::NOCs::Id: {
using TypeInfo = Attributes::NOCs::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTROperationalCredentialsClusterNOCStruct * newElement_0;
newElement_0 = [MTROperationalCredentialsClusterNOCStruct new];
newElement_0.noc = [NSData dataWithBytes:entry_0.noc.data() length:entry_0.noc.size()];
if (entry_0.icac.IsNull()) {
newElement_0.icac = nil;
} else {
newElement_0.icac = [NSData dataWithBytes:entry_0.icac.Value().data() length:entry_0.icac.Value().size()];
}
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::Fabrics::Id: {
using TypeInfo = Attributes::Fabrics::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTROperationalCredentialsClusterFabricDescriptor * newElement_0;
newElement_0 = [MTROperationalCredentialsClusterFabricDescriptor new];
newElement_0.rootPublicKey = [NSData dataWithBytes:entry_0.rootPublicKey.data()
length:entry_0.rootPublicKey.size()];
newElement_0.vendorId = [NSNumber numberWithUnsignedShort:chip::to_underlying(entry_0.vendorId)];
newElement_0.fabricId = [NSNumber numberWithUnsignedLongLong:entry_0.fabricId];
newElement_0.nodeId = [NSNumber numberWithUnsignedLongLong:entry_0.nodeId];
newElement_0.label = [[NSString alloc] initWithBytes:entry_0.label.data()
length:entry_0.label.size()
encoding:NSUTF8StringEncoding];
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::SupportedFabrics::Id: {
using TypeInfo = Attributes::SupportedFabrics::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CommissionedFabrics::Id: {
using TypeInfo = Attributes::CommissionedFabrics::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::TrustedRootCertificates::Id: {
using TypeInfo = Attributes::TrustedRootCertificates::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSData * newElement_0;
newElement_0 = [NSData dataWithBytes:entry_0.data() length:entry_0.size()];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentFabricIndex::Id: {
using TypeInfo = Attributes::CurrentFabricIndex::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::GroupKeyManagement::Id: {
using namespace Clusters::GroupKeyManagement;
switch (aPath.mAttributeId) {
case Attributes::GroupKeyMap::Id: {
using TypeInfo = Attributes::GroupKeyMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRGroupKeyManagementClusterGroupKeyMapStruct * newElement_0;
newElement_0 = [MTRGroupKeyManagementClusterGroupKeyMapStruct new];
newElement_0.groupId = [NSNumber numberWithUnsignedShort:entry_0.groupId];
newElement_0.groupKeySetID = [NSNumber numberWithUnsignedShort:entry_0.groupKeySetID];
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GroupTable::Id: {
using TypeInfo = Attributes::GroupTable::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRGroupKeyManagementClusterGroupInfoMapStruct * newElement_0;
newElement_0 = [MTRGroupKeyManagementClusterGroupInfoMapStruct new];
newElement_0.groupId = [NSNumber numberWithUnsignedShort:entry_0.groupId];
{ // Scope for our temporary variables
auto * array_2 = [NSMutableArray new];
auto iter_2 = entry_0.endpoints.begin();
while (iter_2.Next()) {
auto & entry_2 = iter_2.GetValue();
NSNumber * newElement_2;
newElement_2 = [NSNumber numberWithUnsignedShort:entry_2];
[array_2 addObject:newElement_2];
}
CHIP_ERROR err = iter_2.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.endpoints = array_2;
}
if (entry_0.groupName.HasValue()) {
newElement_0.groupName = [[NSString alloc] initWithBytes:entry_0.groupName.Value().data()
length:entry_0.groupName.Value().size()
encoding:NSUTF8StringEncoding];
} else {
newElement_0.groupName = nil;
}
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::MaxGroupsPerFabric::Id: {
using TypeInfo = Attributes::MaxGroupsPerFabric::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::MaxGroupKeysPerFabric::Id: {
using TypeInfo = Attributes::MaxGroupKeysPerFabric::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::FixedLabel::Id: {
using namespace Clusters::FixedLabel;
switch (aPath.mAttributeId) {
case Attributes::LabelList::Id: {
using TypeInfo = Attributes::LabelList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRFixedLabelClusterLabelStruct * newElement_0;
newElement_0 = [MTRFixedLabelClusterLabelStruct new];
newElement_0.label = [[NSString alloc] initWithBytes:entry_0.label.data()
length:entry_0.label.size()
encoding:NSUTF8StringEncoding];
newElement_0.value = [[NSString alloc] initWithBytes:entry_0.value.data()
length:entry_0.value.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::UserLabel::Id: {
using namespace Clusters::UserLabel;
switch (aPath.mAttributeId) {
case Attributes::LabelList::Id: {
using TypeInfo = Attributes::LabelList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRUserLabelClusterLabelStruct * newElement_0;
newElement_0 = [MTRUserLabelClusterLabelStruct new];
newElement_0.label = [[NSString alloc] initWithBytes:entry_0.label.data()
length:entry_0.label.size()
encoding:NSUTF8StringEncoding];
newElement_0.value = [[NSString alloc] initWithBytes:entry_0.value.data()
length:entry_0.value.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::BooleanState::Id: {
using namespace Clusters::BooleanState;
switch (aPath.mAttributeId) {
case Attributes::StateValue::Id: {
using TypeInfo = Attributes::StateValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ModeSelect::Id: {
using namespace Clusters::ModeSelect;
switch (aPath.mAttributeId) {
case Attributes::Description::Id: {
using TypeInfo = Attributes::Description::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::StandardNamespace::Id: {
using TypeInfo = Attributes::StandardNamespace::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::SupportedModes::Id: {
using TypeInfo = Attributes::SupportedModes::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRModeSelectClusterModeOptionStruct * newElement_0;
newElement_0 = [MTRModeSelectClusterModeOptionStruct new];
newElement_0.label = [[NSString alloc] initWithBytes:entry_0.label.data()
length:entry_0.label.size()
encoding:NSUTF8StringEncoding];
newElement_0.mode = [NSNumber numberWithUnsignedChar:entry_0.mode];
{ // Scope for our temporary variables
auto * array_2 = [NSMutableArray new];
auto iter_2 = entry_0.semanticTags.begin();
while (iter_2.Next()) {
auto & entry_2 = iter_2.GetValue();
MTRModeSelectClusterSemanticTag * newElement_2;
newElement_2 = [MTRModeSelectClusterSemanticTag new];
newElement_2.mfgCode = [NSNumber numberWithUnsignedShort:entry_2.mfgCode];
newElement_2.value = [NSNumber numberWithUnsignedShort:entry_2.value];
[array_2 addObject:newElement_2];
}
CHIP_ERROR err = iter_2.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.semanticTags = array_2;
}
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentMode::Id: {
using TypeInfo = Attributes::CurrentMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::StartUpMode::Id: {
using TypeInfo = Attributes::StartUpMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::OnMode::Id: {
using TypeInfo = Attributes::OnMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::DoorLock::Id: {
using namespace Clusters::DoorLock;
switch (aPath.mAttributeId) {
case Attributes::LockState::Id: {
using TypeInfo = Attributes::LockState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::LockType::Id: {
using TypeInfo = Attributes::LockType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ActuatorEnabled::Id: {
using TypeInfo = Attributes::ActuatorEnabled::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::DoorState::Id: {
using TypeInfo = Attributes::DoorState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::DoorOpenEvents::Id: {
using TypeInfo = Attributes::DoorOpenEvents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::DoorClosedEvents::Id: {
using TypeInfo = Attributes::DoorClosedEvents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::OpenPeriod::Id: {
using TypeInfo = Attributes::OpenPeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NumberOfTotalUsersSupported::Id: {
using TypeInfo = Attributes::NumberOfTotalUsersSupported::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NumberOfPINUsersSupported::Id: {
using TypeInfo = Attributes::NumberOfPINUsersSupported::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NumberOfRFIDUsersSupported::Id: {
using TypeInfo = Attributes::NumberOfRFIDUsersSupported::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id: {
using TypeInfo = Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id: {
using TypeInfo = Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::NumberOfHolidaySchedulesSupported::Id: {
using TypeInfo = Attributes::NumberOfHolidaySchedulesSupported::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MaxPINCodeLength::Id: {
using TypeInfo = Attributes::MaxPINCodeLength::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MinPINCodeLength::Id: {
using TypeInfo = Attributes::MinPINCodeLength::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MaxRFIDCodeLength::Id: {
using TypeInfo = Attributes::MaxRFIDCodeLength::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MinRFIDCodeLength::Id: {
using TypeInfo = Attributes::MinRFIDCodeLength::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CredentialRulesSupport::Id: {
using TypeInfo = Attributes::CredentialRulesSupport::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::NumberOfCredentialsSupportedPerUser::Id: {
using TypeInfo = Attributes::NumberOfCredentialsSupportedPerUser::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::Language::Id: {
using TypeInfo = Attributes::Language::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::LEDSettings::Id: {
using TypeInfo = Attributes::LEDSettings::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::AutoRelockTime::Id: {
using TypeInfo = Attributes::AutoRelockTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::SoundVolume::Id: {
using TypeInfo = Attributes::SoundVolume::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::OperatingMode::Id: {
using TypeInfo = Attributes::OperatingMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::SupportedOperatingModes::Id: {
using TypeInfo = Attributes::SupportedOperatingModes::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue.Raw()];
return value;
}
case Attributes::DefaultConfigurationRegister::Id: {
using TypeInfo = Attributes::DefaultConfigurationRegister::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue.Raw()];
return value;
}
case Attributes::EnableLocalProgramming::Id: {
using TypeInfo = Attributes::EnableLocalProgramming::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::EnableOneTouchLocking::Id: {
using TypeInfo = Attributes::EnableOneTouchLocking::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::EnableInsideStatusLED::Id: {
using TypeInfo = Attributes::EnableInsideStatusLED::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::EnablePrivacyModeButton::Id: {
using TypeInfo = Attributes::EnablePrivacyModeButton::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::LocalProgrammingFeatures::Id: {
using TypeInfo = Attributes::LocalProgrammingFeatures::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::WrongCodeEntryLimit::Id: {
using TypeInfo = Attributes::WrongCodeEntryLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::UserCodeTemporaryDisableTime::Id: {
using TypeInfo = Attributes::UserCodeTemporaryDisableTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::SendPINOverTheAir::Id: {
using TypeInfo = Attributes::SendPINOverTheAir::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::RequirePINforRemoteOperation::Id: {
using TypeInfo = Attributes::RequirePINforRemoteOperation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::ExpiringUserTimeout::Id: {
using TypeInfo = Attributes::ExpiringUserTimeout::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::WindowCovering::Id: {
using namespace Clusters::WindowCovering;
switch (aPath.mAttributeId) {
case Attributes::Type::Id: {
using TypeInfo = Attributes::Type::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::PhysicalClosedLimitLift::Id: {
using TypeInfo = Attributes::PhysicalClosedLimitLift::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PhysicalClosedLimitTilt::Id: {
using TypeInfo = Attributes::PhysicalClosedLimitTilt::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::CurrentPositionLift::Id: {
using TypeInfo = Attributes::CurrentPositionLift::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::CurrentPositionTilt::Id: {
using TypeInfo = Attributes::CurrentPositionTilt::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::NumberOfActuationsLift::Id: {
using TypeInfo = Attributes::NumberOfActuationsLift::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NumberOfActuationsTilt::Id: {
using TypeInfo = Attributes::NumberOfActuationsTilt::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ConfigStatus::Id: {
using TypeInfo = Attributes::ConfigStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::CurrentPositionLiftPercentage::Id: {
using TypeInfo = Attributes::CurrentPositionLiftPercentage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::CurrentPositionTiltPercentage::Id: {
using TypeInfo = Attributes::CurrentPositionTiltPercentage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::OperationalStatus::Id: {
using TypeInfo = Attributes::OperationalStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::TargetPositionLiftPercent100ths::Id: {
using TypeInfo = Attributes::TargetPositionLiftPercent100ths::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::TargetPositionTiltPercent100ths::Id: {
using TypeInfo = Attributes::TargetPositionTiltPercent100ths::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::EndProductType::Id: {
using TypeInfo = Attributes::EndProductType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::CurrentPositionLiftPercent100ths::Id: {
using TypeInfo = Attributes::CurrentPositionLiftPercent100ths::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::CurrentPositionTiltPercent100ths::Id: {
using TypeInfo = Attributes::CurrentPositionTiltPercent100ths::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::InstalledOpenLimitLift::Id: {
using TypeInfo = Attributes::InstalledOpenLimitLift::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::InstalledClosedLimitLift::Id: {
using TypeInfo = Attributes::InstalledClosedLimitLift::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::InstalledOpenLimitTilt::Id: {
using TypeInfo = Attributes::InstalledOpenLimitTilt::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::InstalledClosedLimitTilt::Id: {
using TypeInfo = Attributes::InstalledClosedLimitTilt::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Mode::Id: {
using TypeInfo = Attributes::Mode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::SafetyStatus::Id: {
using TypeInfo = Attributes::SafetyStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue.Raw()];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::BarrierControl::Id: {
using namespace Clusters::BarrierControl;
switch (aPath.mAttributeId) {
case Attributes::BarrierMovingState::Id: {
using TypeInfo = Attributes::BarrierMovingState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::BarrierSafetyStatus::Id: {
using TypeInfo = Attributes::BarrierSafetyStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierCapabilities::Id: {
using TypeInfo = Attributes::BarrierCapabilities::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::BarrierOpenEvents::Id: {
using TypeInfo = Attributes::BarrierOpenEvents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierCloseEvents::Id: {
using TypeInfo = Attributes::BarrierCloseEvents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierCommandOpenEvents::Id: {
using TypeInfo = Attributes::BarrierCommandOpenEvents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierCommandCloseEvents::Id: {
using TypeInfo = Attributes::BarrierCommandCloseEvents::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierOpenPeriod::Id: {
using TypeInfo = Attributes::BarrierOpenPeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierClosePeriod::Id: {
using TypeInfo = Attributes::BarrierClosePeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::BarrierPosition::Id: {
using TypeInfo = Attributes::BarrierPosition::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::PumpConfigurationAndControl::Id: {
using namespace Clusters::PumpConfigurationAndControl;
switch (aPath.mAttributeId) {
case Attributes::MaxPressure::Id: {
using TypeInfo = Attributes::MaxPressure::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxSpeed::Id: {
using TypeInfo = Attributes::MaxSpeed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxFlow::Id: {
using TypeInfo = Attributes::MaxFlow::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MinConstPressure::Id: {
using TypeInfo = Attributes::MinConstPressure::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxConstPressure::Id: {
using TypeInfo = Attributes::MaxConstPressure::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MinCompPressure::Id: {
using TypeInfo = Attributes::MinCompPressure::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxCompPressure::Id: {
using TypeInfo = Attributes::MaxCompPressure::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MinConstSpeed::Id: {
using TypeInfo = Attributes::MinConstSpeed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxConstSpeed::Id: {
using TypeInfo = Attributes::MaxConstSpeed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MinConstFlow::Id: {
using TypeInfo = Attributes::MinConstFlow::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxConstFlow::Id: {
using TypeInfo = Attributes::MaxConstFlow::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MinConstTemp::Id: {
using TypeInfo = Attributes::MinConstTemp::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxConstTemp::Id: {
using TypeInfo = Attributes::MaxConstTemp::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::PumpStatus::Id: {
using TypeInfo = Attributes::PumpStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue.Raw()];
return value;
}
case Attributes::EffectiveOperationMode::Id: {
using TypeInfo = Attributes::EffectiveOperationMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::EffectiveControlMode::Id: {
using TypeInfo = Attributes::EffectiveControlMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::Capacity::Id: {
using TypeInfo = Attributes::Capacity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::Speed::Id: {
using TypeInfo = Attributes::Speed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::LifetimeRunningHours::Id: {
using TypeInfo = Attributes::LifetimeRunningHours::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::Power::Id: {
using TypeInfo = Attributes::Power::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::LifetimeEnergyConsumed::Id: {
using TypeInfo = Attributes::LifetimeEnergyConsumed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::OperationMode::Id: {
using TypeInfo = Attributes::OperationMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ControlMode::Id: {
using TypeInfo = Attributes::ControlMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Thermostat::Id: {
using namespace Clusters::Thermostat;
switch (aPath.mAttributeId) {
case Attributes::LocalTemperature::Id: {
using TypeInfo = Attributes::LocalTemperature::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::OutdoorTemperature::Id: {
using TypeInfo = Attributes::OutdoorTemperature::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::Occupancy::Id: {
using TypeInfo = Attributes::Occupancy::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::AbsMinHeatSetpointLimit::Id: {
using TypeInfo = Attributes::AbsMinHeatSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AbsMaxHeatSetpointLimit::Id: {
using TypeInfo = Attributes::AbsMaxHeatSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AbsMinCoolSetpointLimit::Id: {
using TypeInfo = Attributes::AbsMinCoolSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AbsMaxCoolSetpointLimit::Id: {
using TypeInfo = Attributes::AbsMaxCoolSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::PICoolingDemand::Id: {
using TypeInfo = Attributes::PICoolingDemand::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::PIHeatingDemand::Id: {
using TypeInfo = Attributes::PIHeatingDemand::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::HVACSystemTypeConfiguration::Id: {
using TypeInfo = Attributes::HVACSystemTypeConfiguration::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::LocalTemperatureCalibration::Id: {
using TypeInfo = Attributes::LocalTemperatureCalibration::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::OccupiedCoolingSetpoint::Id: {
using TypeInfo = Attributes::OccupiedCoolingSetpoint::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::OccupiedHeatingSetpoint::Id: {
using TypeInfo = Attributes::OccupiedHeatingSetpoint::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::UnoccupiedCoolingSetpoint::Id: {
using TypeInfo = Attributes::UnoccupiedCoolingSetpoint::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::UnoccupiedHeatingSetpoint::Id: {
using TypeInfo = Attributes::UnoccupiedHeatingSetpoint::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MinHeatSetpointLimit::Id: {
using TypeInfo = Attributes::MinHeatSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MaxHeatSetpointLimit::Id: {
using TypeInfo = Attributes::MaxHeatSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MinCoolSetpointLimit::Id: {
using TypeInfo = Attributes::MinCoolSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MaxCoolSetpointLimit::Id: {
using TypeInfo = Attributes::MaxCoolSetpointLimit::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MinSetpointDeadBand::Id: {
using TypeInfo = Attributes::MinSetpointDeadBand::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::RemoteSensing::Id: {
using TypeInfo = Attributes::RemoteSensing::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ControlSequenceOfOperation::Id: {
using TypeInfo = Attributes::ControlSequenceOfOperation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::SystemMode::Id: {
using TypeInfo = Attributes::SystemMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ThermostatRunningMode::Id: {
using TypeInfo = Attributes::ThermostatRunningMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::StartOfWeek::Id: {
using TypeInfo = Attributes::StartOfWeek::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::NumberOfWeeklyTransitions::Id: {
using TypeInfo = Attributes::NumberOfWeeklyTransitions::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::NumberOfDailyTransitions::Id: {
using TypeInfo = Attributes::NumberOfDailyTransitions::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::TemperatureSetpointHold::Id: {
using TypeInfo = Attributes::TemperatureSetpointHold::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::TemperatureSetpointHoldDuration::Id: {
using TypeInfo = Attributes::TemperatureSetpointHoldDuration::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::ThermostatProgrammingOperationMode::Id: {
using TypeInfo = Attributes::ThermostatProgrammingOperationMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ThermostatRunningState::Id: {
using TypeInfo = Attributes::ThermostatRunningState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::SetpointChangeSource::Id: {
using TypeInfo = Attributes::SetpointChangeSource::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::SetpointChangeAmount::Id: {
using TypeInfo = Attributes::SetpointChangeAmount::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::SetpointChangeSourceTimestamp::Id: {
using TypeInfo = Attributes::SetpointChangeSourceTimestamp::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::OccupiedSetback::Id: {
using TypeInfo = Attributes::OccupiedSetback::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::OccupiedSetbackMin::Id: {
using TypeInfo = Attributes::OccupiedSetbackMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::OccupiedSetbackMax::Id: {
using TypeInfo = Attributes::OccupiedSetbackMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::UnoccupiedSetback::Id: {
using TypeInfo = Attributes::UnoccupiedSetback::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::UnoccupiedSetbackMin::Id: {
using TypeInfo = Attributes::UnoccupiedSetbackMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::UnoccupiedSetbackMax::Id: {
using TypeInfo = Attributes::UnoccupiedSetbackMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::EmergencyHeatDelta::Id: {
using TypeInfo = Attributes::EmergencyHeatDelta::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ACType::Id: {
using TypeInfo = Attributes::ACType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ACCapacity::Id: {
using TypeInfo = Attributes::ACCapacity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ACRefrigerantType::Id: {
using TypeInfo = Attributes::ACRefrigerantType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ACCompressorType::Id: {
using TypeInfo = Attributes::ACCompressorType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ACErrorCode::Id: {
using TypeInfo = Attributes::ACErrorCode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ACLouverPosition::Id: {
using TypeInfo = Attributes::ACLouverPosition::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ACCoilTemperature::Id: {
using TypeInfo = Attributes::ACCoilTemperature::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::ACCapacityformat::Id: {
using TypeInfo = Attributes::ACCapacityformat::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::FanControl::Id: {
using namespace Clusters::FanControl;
switch (aPath.mAttributeId) {
case Attributes::FanMode::Id: {
using TypeInfo = Attributes::FanMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::FanModeSequence::Id: {
using TypeInfo = Attributes::FanModeSequence::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::PercentSetting::Id: {
using TypeInfo = Attributes::PercentSetting::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::PercentCurrent::Id: {
using TypeInfo = Attributes::PercentCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::SpeedMax::Id: {
using TypeInfo = Attributes::SpeedMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::SpeedSetting::Id: {
using TypeInfo = Attributes::SpeedSetting::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::SpeedCurrent::Id: {
using TypeInfo = Attributes::SpeedCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::RockSupport::Id: {
using TypeInfo = Attributes::RockSupport::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::RockSetting::Id: {
using TypeInfo = Attributes::RockSetting::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::WindSupport::Id: {
using TypeInfo = Attributes::WindSupport::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::WindSetting::Id: {
using TypeInfo = Attributes::WindSetting::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ThermostatUserInterfaceConfiguration::Id: {
using namespace Clusters::ThermostatUserInterfaceConfiguration;
switch (aPath.mAttributeId) {
case Attributes::TemperatureDisplayMode::Id: {
using TypeInfo = Attributes::TemperatureDisplayMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::KeypadLockout::Id: {
using TypeInfo = Attributes::KeypadLockout::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ScheduleProgrammingVisibility::Id: {
using TypeInfo = Attributes::ScheduleProgrammingVisibility::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ColorControl::Id: {
using namespace Clusters::ColorControl;
switch (aPath.mAttributeId) {
case Attributes::CurrentHue::Id: {
using TypeInfo = Attributes::CurrentHue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CurrentSaturation::Id: {
using TypeInfo = Attributes::CurrentSaturation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::RemainingTime::Id: {
using TypeInfo = Attributes::RemainingTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::CurrentX::Id: {
using TypeInfo = Attributes::CurrentX::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::CurrentY::Id: {
using TypeInfo = Attributes::CurrentY::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::DriftCompensation::Id: {
using TypeInfo = Attributes::DriftCompensation::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::CompensationText::Id: {
using TypeInfo = Attributes::CompensationText::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ColorTemperature::Id: {
using TypeInfo = Attributes::ColorTemperature::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorMode::Id: {
using TypeInfo = Attributes::ColorMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::Options::Id: {
using TypeInfo = Attributes::Options::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::NumberOfPrimaries::Id: {
using TypeInfo = Attributes::NumberOfPrimaries::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::Primary1X::Id: {
using TypeInfo = Attributes::Primary1X::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary1Y::Id: {
using TypeInfo = Attributes::Primary1Y::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary1Intensity::Id: {
using TypeInfo = Attributes::Primary1Intensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::Primary2X::Id: {
using TypeInfo = Attributes::Primary2X::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary2Y::Id: {
using TypeInfo = Attributes::Primary2Y::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary2Intensity::Id: {
using TypeInfo = Attributes::Primary2Intensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::Primary3X::Id: {
using TypeInfo = Attributes::Primary3X::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary3Y::Id: {
using TypeInfo = Attributes::Primary3Y::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary3Intensity::Id: {
using TypeInfo = Attributes::Primary3Intensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::Primary4X::Id: {
using TypeInfo = Attributes::Primary4X::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary4Y::Id: {
using TypeInfo = Attributes::Primary4Y::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary4Intensity::Id: {
using TypeInfo = Attributes::Primary4Intensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::Primary5X::Id: {
using TypeInfo = Attributes::Primary5X::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary5Y::Id: {
using TypeInfo = Attributes::Primary5Y::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary5Intensity::Id: {
using TypeInfo = Attributes::Primary5Intensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::Primary6X::Id: {
using TypeInfo = Attributes::Primary6X::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary6Y::Id: {
using TypeInfo = Attributes::Primary6Y::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Primary6Intensity::Id: {
using TypeInfo = Attributes::Primary6Intensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::WhitePointX::Id: {
using TypeInfo = Attributes::WhitePointX::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::WhitePointY::Id: {
using TypeInfo = Attributes::WhitePointY::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointRX::Id: {
using TypeInfo = Attributes::ColorPointRX::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointRY::Id: {
using TypeInfo = Attributes::ColorPointRY::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointRIntensity::Id: {
using TypeInfo = Attributes::ColorPointRIntensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::ColorPointGX::Id: {
using TypeInfo = Attributes::ColorPointGX::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointGY::Id: {
using TypeInfo = Attributes::ColorPointGY::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointGIntensity::Id: {
using TypeInfo = Attributes::ColorPointGIntensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::ColorPointBX::Id: {
using TypeInfo = Attributes::ColorPointBX::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointBY::Id: {
using TypeInfo = Attributes::ColorPointBY::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorPointBIntensity::Id: {
using TypeInfo = Attributes::ColorPointBIntensity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::EnhancedCurrentHue::Id: {
using TypeInfo = Attributes::EnhancedCurrentHue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::EnhancedColorMode::Id: {
using TypeInfo = Attributes::EnhancedColorMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ColorLoopActive::Id: {
using TypeInfo = Attributes::ColorLoopActive::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ColorLoopDirection::Id: {
using TypeInfo = Attributes::ColorLoopDirection::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::ColorLoopTime::Id: {
using TypeInfo = Attributes::ColorLoopTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorLoopStartEnhancedHue::Id: {
using TypeInfo = Attributes::ColorLoopStartEnhancedHue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorLoopStoredEnhancedHue::Id: {
using TypeInfo = Attributes::ColorLoopStoredEnhancedHue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorCapabilities::Id: {
using TypeInfo = Attributes::ColorCapabilities::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorTempPhysicalMinMireds::Id: {
using TypeInfo = Attributes::ColorTempPhysicalMinMireds::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ColorTempPhysicalMaxMireds::Id: {
using TypeInfo = Attributes::ColorTempPhysicalMaxMireds::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::CoupleColorTempToLevelMinMireds::Id: {
using TypeInfo = Attributes::CoupleColorTempToLevelMinMireds::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::StartUpColorTemperatureMireds::Id: {
using TypeInfo = Attributes::StartUpColorTemperatureMireds::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::BallastConfiguration::Id: {
using namespace Clusters::BallastConfiguration;
switch (aPath.mAttributeId) {
case Attributes::PhysicalMinLevel::Id: {
using TypeInfo = Attributes::PhysicalMinLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::PhysicalMaxLevel::Id: {
using TypeInfo = Attributes::PhysicalMaxLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::BallastStatus::Id: {
using TypeInfo = Attributes::BallastStatus::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MinLevel::Id: {
using TypeInfo = Attributes::MinLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::MaxLevel::Id: {
using TypeInfo = Attributes::MaxLevel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::IntrinsicBalanceFactor::Id: {
using TypeInfo = Attributes::IntrinsicBalanceFactor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::BallastFactorAdjustment::Id: {
using TypeInfo = Attributes::BallastFactorAdjustment::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::LampQuantity::Id: {
using TypeInfo = Attributes::LampQuantity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::LampType::Id: {
using TypeInfo = Attributes::LampType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::LampManufacturer::Id: {
using TypeInfo = Attributes::LampManufacturer::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::LampRatedHours::Id: {
using TypeInfo = Attributes::LampRatedHours::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::LampBurnHours::Id: {
using TypeInfo = Attributes::LampBurnHours::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::LampAlarmMode::Id: {
using TypeInfo = Attributes::LampAlarmMode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::LampBurnHoursTripPoint::Id: {
using TypeInfo = Attributes::LampBurnHoursTripPoint::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::IlluminanceMeasurement::Id: {
using namespace Clusters::IlluminanceMeasurement;
switch (aPath.mAttributeId) {
case Attributes::MeasuredValue::Id: {
using TypeInfo = Attributes::MeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MinMeasuredValue::Id: {
using TypeInfo = Attributes::MinMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxMeasuredValue::Id: {
using TypeInfo = Attributes::MaxMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::Tolerance::Id: {
using TypeInfo = Attributes::Tolerance::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::LightSensorType::Id: {
using TypeInfo = Attributes::LightSensorType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::TemperatureMeasurement::Id: {
using namespace Clusters::TemperatureMeasurement;
switch (aPath.mAttributeId) {
case Attributes::MeasuredValue::Id: {
using TypeInfo = Attributes::MeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MinMeasuredValue::Id: {
using TypeInfo = Attributes::MinMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxMeasuredValue::Id: {
using TypeInfo = Attributes::MaxMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::Tolerance::Id: {
using TypeInfo = Attributes::Tolerance::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::PressureMeasurement::Id: {
using namespace Clusters::PressureMeasurement;
switch (aPath.mAttributeId) {
case Attributes::MeasuredValue::Id: {
using TypeInfo = Attributes::MeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MinMeasuredValue::Id: {
using TypeInfo = Attributes::MinMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxMeasuredValue::Id: {
using TypeInfo = Attributes::MaxMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::Tolerance::Id: {
using TypeInfo = Attributes::Tolerance::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ScaledValue::Id: {
using TypeInfo = Attributes::ScaledValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MinScaledValue::Id: {
using TypeInfo = Attributes::MinScaledValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxScaledValue::Id: {
using TypeInfo = Attributes::MaxScaledValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::ScaledTolerance::Id: {
using TypeInfo = Attributes::ScaledTolerance::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Scale::Id: {
using TypeInfo = Attributes::Scale::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::FlowMeasurement::Id: {
using namespace Clusters::FlowMeasurement;
switch (aPath.mAttributeId) {
case Attributes::MeasuredValue::Id: {
using TypeInfo = Attributes::MeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MinMeasuredValue::Id: {
using TypeInfo = Attributes::MinMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxMeasuredValue::Id: {
using TypeInfo = Attributes::MaxMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::Tolerance::Id: {
using TypeInfo = Attributes::Tolerance::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::RelativeHumidityMeasurement::Id: {
using namespace Clusters::RelativeHumidityMeasurement;
switch (aPath.mAttributeId) {
case Attributes::MeasuredValue::Id: {
using TypeInfo = Attributes::MeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MinMeasuredValue::Id: {
using TypeInfo = Attributes::MinMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::MaxMeasuredValue::Id: {
using TypeInfo = Attributes::MaxMeasuredValue::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::Tolerance::Id: {
using TypeInfo = Attributes::Tolerance::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::OccupancySensing::Id: {
using namespace Clusters::OccupancySensing;
switch (aPath.mAttributeId) {
case Attributes::Occupancy::Id: {
using TypeInfo = Attributes::Occupancy::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::OccupancySensorType::Id: {
using TypeInfo = Attributes::OccupancySensorType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::OccupancySensorTypeBitmap::Id: {
using TypeInfo = Attributes::OccupancySensorTypeBitmap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::PirOccupiedToUnoccupiedDelay::Id: {
using TypeInfo = Attributes::PirOccupiedToUnoccupiedDelay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PirUnoccupiedToOccupiedDelay::Id: {
using TypeInfo = Attributes::PirUnoccupiedToOccupiedDelay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PirUnoccupiedToOccupiedThreshold::Id: {
using TypeInfo = Attributes::PirUnoccupiedToOccupiedThreshold::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id: {
using TypeInfo = Attributes::UltrasonicOccupiedToUnoccupiedDelay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id: {
using TypeInfo = Attributes::UltrasonicUnoccupiedToOccupiedDelay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id: {
using TypeInfo = Attributes::UltrasonicUnoccupiedToOccupiedThreshold::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id: {
using TypeInfo = Attributes::PhysicalContactOccupiedToUnoccupiedDelay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id: {
using TypeInfo = Attributes::PhysicalContactUnoccupiedToOccupiedDelay::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id: {
using TypeInfo = Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::WakeOnLan::Id: {
using namespace Clusters::WakeOnLan;
switch (aPath.mAttributeId) {
case Attributes::MACAddress::Id: {
using TypeInfo = Attributes::MACAddress::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::Channel::Id: {
using namespace Clusters::Channel;
switch (aPath.mAttributeId) {
case Attributes::ChannelList::Id: {
using TypeInfo = Attributes::ChannelList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRChannelClusterChannelInfo * newElement_0;
newElement_0 = [MTRChannelClusterChannelInfo new];
newElement_0.majorNumber = [NSNumber numberWithUnsignedShort:entry_0.majorNumber];
newElement_0.minorNumber = [NSNumber numberWithUnsignedShort:entry_0.minorNumber];
if (entry_0.name.HasValue()) {
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.Value().data()
length:entry_0.name.Value().size()
encoding:NSUTF8StringEncoding];
} else {
newElement_0.name = nil;
}
if (entry_0.callSign.HasValue()) {
newElement_0.callSign = [[NSString alloc] initWithBytes:entry_0.callSign.Value().data()
length:entry_0.callSign.Value().size()
encoding:NSUTF8StringEncoding];
} else {
newElement_0.callSign = nil;
}
if (entry_0.affiliateCallSign.HasValue()) {
newElement_0.affiliateCallSign = [[NSString alloc] initWithBytes:entry_0.affiliateCallSign.Value().data()
length:entry_0.affiliateCallSign.Value().size()
encoding:NSUTF8StringEncoding];
} else {
newElement_0.affiliateCallSign = nil;
}
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::Lineup::Id: {
using TypeInfo = Attributes::Lineup::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRChannelClusterLineupInfo * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRChannelClusterLineupInfo new];
value.operatorName = [[NSString alloc] initWithBytes:cppValue.Value().operatorName.data()
length:cppValue.Value().operatorName.size()
encoding:NSUTF8StringEncoding];
if (cppValue.Value().lineupName.HasValue()) {
value.lineupName = [[NSString alloc] initWithBytes:cppValue.Value().lineupName.Value().data()
length:cppValue.Value().lineupName.Value().size()
encoding:NSUTF8StringEncoding];
} else {
value.lineupName = nil;
}
if (cppValue.Value().postalCode.HasValue()) {
value.postalCode = [[NSString alloc] initWithBytes:cppValue.Value().postalCode.Value().data()
length:cppValue.Value().postalCode.Value().size()
encoding:NSUTF8StringEncoding];
} else {
value.postalCode = nil;
}
value.lineupInfoType = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value().lineupInfoType)];
}
return value;
}
case Attributes::CurrentChannel::Id: {
using TypeInfo = Attributes::CurrentChannel::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRChannelClusterChannelInfo * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRChannelClusterChannelInfo new];
value.majorNumber = [NSNumber numberWithUnsignedShort:cppValue.Value().majorNumber];
value.minorNumber = [NSNumber numberWithUnsignedShort:cppValue.Value().minorNumber];
if (cppValue.Value().name.HasValue()) {
value.name = [[NSString alloc] initWithBytes:cppValue.Value().name.Value().data()
length:cppValue.Value().name.Value().size()
encoding:NSUTF8StringEncoding];
} else {
value.name = nil;
}
if (cppValue.Value().callSign.HasValue()) {
value.callSign = [[NSString alloc] initWithBytes:cppValue.Value().callSign.Value().data()
length:cppValue.Value().callSign.Value().size()
encoding:NSUTF8StringEncoding];
} else {
value.callSign = nil;
}
if (cppValue.Value().affiliateCallSign.HasValue()) {
value.affiliateCallSign = [[NSString alloc] initWithBytes:cppValue.Value().affiliateCallSign.Value().data()
length:cppValue.Value().affiliateCallSign.Value().size()
encoding:NSUTF8StringEncoding];
} else {
value.affiliateCallSign = nil;
}
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::TargetNavigator::Id: {
using namespace Clusters::TargetNavigator;
switch (aPath.mAttributeId) {
case Attributes::TargetList::Id: {
using TypeInfo = Attributes::TargetList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRTargetNavigatorClusterTargetInfo * newElement_0;
newElement_0 = [MTRTargetNavigatorClusterTargetInfo new];
newElement_0.identifier = [NSNumber numberWithUnsignedChar:entry_0.identifier];
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.data()
length:entry_0.name.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentTarget::Id: {
using TypeInfo = Attributes::CurrentTarget::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::MediaPlayback::Id: {
using namespace Clusters::MediaPlayback;
switch (aPath.mAttributeId) {
case Attributes::CurrentState::Id: {
using TypeInfo = Attributes::CurrentState::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::StartTime::Id: {
using TypeInfo = Attributes::StartTime::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::Duration::Id: {
using TypeInfo = Attributes::Duration::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::SampledPosition::Id: {
using TypeInfo = Attributes::SampledPosition::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRMediaPlaybackClusterPlaybackPosition * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRMediaPlaybackClusterPlaybackPosition new];
value.updatedAt = [NSNumber numberWithUnsignedLongLong:cppValue.Value().updatedAt];
if (cppValue.Value().position.IsNull()) {
value.position = nil;
} else {
value.position = [NSNumber numberWithUnsignedLongLong:cppValue.Value().position.Value()];
}
}
return value;
}
case Attributes::PlaybackSpeed::Id: {
using TypeInfo = Attributes::PlaybackSpeed::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithFloat:cppValue];
return value;
}
case Attributes::SeekRangeEnd::Id: {
using TypeInfo = Attributes::SeekRangeEnd::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::SeekRangeStart::Id: {
using TypeInfo = Attributes::SeekRangeStart::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::MediaInput::Id: {
using namespace Clusters::MediaInput;
switch (aPath.mAttributeId) {
case Attributes::InputList::Id: {
using TypeInfo = Attributes::InputList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRMediaInputClusterInputInfo * newElement_0;
newElement_0 = [MTRMediaInputClusterInputInfo new];
newElement_0.index = [NSNumber numberWithUnsignedChar:entry_0.index];
newElement_0.inputType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.inputType)];
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.data()
length:entry_0.name.size()
encoding:NSUTF8StringEncoding];
newElement_0.descriptionString = [[NSString alloc] initWithBytes:entry_0.description.data()
length:entry_0.description.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentInput::Id: {
using TypeInfo = Attributes::CurrentInput::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::LowPower::Id: {
using namespace Clusters::LowPower;
switch (aPath.mAttributeId) {
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::KeypadInput::Id: {
using namespace Clusters::KeypadInput;
switch (aPath.mAttributeId) {
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ContentLauncher::Id: {
using namespace Clusters::ContentLauncher;
switch (aPath.mAttributeId) {
case Attributes::AcceptHeader::Id: {
using TypeInfo = Attributes::AcceptHeader::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSString * newElement_0;
newElement_0 = [[NSString alloc] initWithBytes:entry_0.data()
length:entry_0.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::SupportedStreamingProtocols::Id: {
using TypeInfo = Attributes::SupportedStreamingProtocols::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::AudioOutput::Id: {
using namespace Clusters::AudioOutput;
switch (aPath.mAttributeId) {
case Attributes::OutputList::Id: {
using TypeInfo = Attributes::OutputList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRAudioOutputClusterOutputInfo * newElement_0;
newElement_0 = [MTRAudioOutputClusterOutputInfo new];
newElement_0.index = [NSNumber numberWithUnsignedChar:entry_0.index];
newElement_0.outputType = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.outputType)];
newElement_0.name = [[NSString alloc] initWithBytes:entry_0.name.data()
length:entry_0.name.size()
encoding:NSUTF8StringEncoding];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentOutput::Id: {
using TypeInfo = Attributes::CurrentOutput::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ApplicationLauncher::Id: {
using namespace Clusters::ApplicationLauncher;
switch (aPath.mAttributeId) {
case Attributes::CatalogList::Id: {
using TypeInfo = Attributes::CatalogList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedShort:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::CurrentApp::Id: {
using TypeInfo = Attributes::CurrentApp::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRApplicationLauncherClusterApplicationEP * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRApplicationLauncherClusterApplicationEP new];
value.application = [MTRApplicationLauncherClusterApplication new];
value.application.catalogVendorId = [NSNumber numberWithUnsignedShort:cppValue.Value().application.catalogVendorId];
value.application.applicationId = [[NSString alloc] initWithBytes:cppValue.Value().application.applicationId.data()
length:cppValue.Value().application.applicationId.size()
encoding:NSUTF8StringEncoding];
if (cppValue.Value().endpoint.HasValue()) {
value.endpoint = [NSNumber numberWithUnsignedShort:cppValue.Value().endpoint.Value()];
} else {
value.endpoint = nil;
}
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ApplicationBasic::Id: {
using namespace Clusters::ApplicationBasic;
switch (aPath.mAttributeId) {
case Attributes::VendorName::Id: {
using TypeInfo = Attributes::VendorName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::VendorID::Id: {
using TypeInfo = Attributes::VendorID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ApplicationName::Id: {
using TypeInfo = Attributes::ApplicationName::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::ProductID::Id: {
using TypeInfo = Attributes::ProductID::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Application::Id: {
using TypeInfo = Attributes::Application::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRApplicationBasicClusterApplicationBasicApplication * _Nonnull value;
value = [MTRApplicationBasicClusterApplicationBasicApplication new];
value.catalogVendorId = [NSNumber numberWithUnsignedShort:cppValue.catalogVendorId];
value.applicationId = [[NSString alloc] initWithBytes:cppValue.applicationId.data()
length:cppValue.applicationId.size()
encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::Status::Id: {
using TypeInfo = Attributes::Status::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ApplicationVersion::Id: {
using TypeInfo = Attributes::ApplicationVersion::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::AllowedVendorList::Id: {
using TypeInfo = Attributes::AllowedVendorList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedShort:chip::to_underlying(entry_0)];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::AccountLogin::Id: {
using namespace Clusters::AccountLogin;
switch (aPath.mAttributeId) {
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::ElectricalMeasurement::Id: {
using namespace Clusters::ElectricalMeasurement;
switch (aPath.mAttributeId) {
case Attributes::MeasurementType::Id: {
using TypeInfo = Attributes::MeasurementType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::DcVoltage::Id: {
using TypeInfo = Attributes::DcVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcVoltageMin::Id: {
using TypeInfo = Attributes::DcVoltageMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcVoltageMax::Id: {
using TypeInfo = Attributes::DcVoltageMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcCurrent::Id: {
using TypeInfo = Attributes::DcCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcCurrentMin::Id: {
using TypeInfo = Attributes::DcCurrentMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcCurrentMax::Id: {
using TypeInfo = Attributes::DcCurrentMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcPower::Id: {
using TypeInfo = Attributes::DcPower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcPowerMin::Id: {
using TypeInfo = Attributes::DcPowerMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcPowerMax::Id: {
using TypeInfo = Attributes::DcPowerMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::DcVoltageMultiplier::Id: {
using TypeInfo = Attributes::DcVoltageMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::DcVoltageDivisor::Id: {
using TypeInfo = Attributes::DcVoltageDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::DcCurrentMultiplier::Id: {
using TypeInfo = Attributes::DcCurrentMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::DcCurrentDivisor::Id: {
using TypeInfo = Attributes::DcCurrentDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::DcPowerMultiplier::Id: {
using TypeInfo = Attributes::DcPowerMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::DcPowerDivisor::Id: {
using TypeInfo = Attributes::DcPowerDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcFrequency::Id: {
using TypeInfo = Attributes::AcFrequency::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcFrequencyMin::Id: {
using TypeInfo = Attributes::AcFrequencyMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcFrequencyMax::Id: {
using TypeInfo = Attributes::AcFrequencyMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::NeutralCurrent::Id: {
using TypeInfo = Attributes::NeutralCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::TotalActivePower::Id: {
using TypeInfo = Attributes::TotalActivePower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithInt:cppValue];
return value;
}
case Attributes::TotalReactivePower::Id: {
using TypeInfo = Attributes::TotalReactivePower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithInt:cppValue];
return value;
}
case Attributes::TotalApparentPower::Id: {
using TypeInfo = Attributes::TotalApparentPower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::Measured1stHarmonicCurrent::Id: {
using TypeInfo = Attributes::Measured1stHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::Measured3rdHarmonicCurrent::Id: {
using TypeInfo = Attributes::Measured3rdHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::Measured5thHarmonicCurrent::Id: {
using TypeInfo = Attributes::Measured5thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::Measured7thHarmonicCurrent::Id: {
using TypeInfo = Attributes::Measured7thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::Measured9thHarmonicCurrent::Id: {
using TypeInfo = Attributes::Measured9thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::Measured11thHarmonicCurrent::Id: {
using TypeInfo = Attributes::Measured11thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MeasuredPhase1stHarmonicCurrent::Id: {
using TypeInfo = Attributes::MeasuredPhase1stHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MeasuredPhase3rdHarmonicCurrent::Id: {
using TypeInfo = Attributes::MeasuredPhase3rdHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MeasuredPhase5thHarmonicCurrent::Id: {
using TypeInfo = Attributes::MeasuredPhase5thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MeasuredPhase7thHarmonicCurrent::Id: {
using TypeInfo = Attributes::MeasuredPhase7thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MeasuredPhase9thHarmonicCurrent::Id: {
using TypeInfo = Attributes::MeasuredPhase9thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::MeasuredPhase11thHarmonicCurrent::Id: {
using TypeInfo = Attributes::MeasuredPhase11thHarmonicCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AcFrequencyMultiplier::Id: {
using TypeInfo = Attributes::AcFrequencyMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcFrequencyDivisor::Id: {
using TypeInfo = Attributes::AcFrequencyDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PowerMultiplier::Id: {
using TypeInfo = Attributes::PowerMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::PowerDivisor::Id: {
using TypeInfo = Attributes::PowerDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::HarmonicCurrentMultiplier::Id: {
using TypeInfo = Attributes::HarmonicCurrentMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::PhaseHarmonicCurrentMultiplier::Id: {
using TypeInfo = Attributes::PhaseHarmonicCurrentMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::InstantaneousVoltage::Id: {
using TypeInfo = Attributes::InstantaneousVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::InstantaneousLineCurrent::Id: {
using TypeInfo = Attributes::InstantaneousLineCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::InstantaneousActiveCurrent::Id: {
using TypeInfo = Attributes::InstantaneousActiveCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::InstantaneousReactiveCurrent::Id: {
using TypeInfo = Attributes::InstantaneousReactiveCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::InstantaneousPower::Id: {
using TypeInfo = Attributes::InstantaneousPower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsVoltage::Id: {
using TypeInfo = Attributes::RmsVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageMin::Id: {
using TypeInfo = Attributes::RmsVoltageMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageMax::Id: {
using TypeInfo = Attributes::RmsVoltageMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrent::Id: {
using TypeInfo = Attributes::RmsCurrent::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentMin::Id: {
using TypeInfo = Attributes::RmsCurrentMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentMax::Id: {
using TypeInfo = Attributes::RmsCurrentMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ActivePower::Id: {
using TypeInfo = Attributes::ActivePower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ActivePowerMin::Id: {
using TypeInfo = Attributes::ActivePowerMin::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ActivePowerMax::Id: {
using TypeInfo = Attributes::ActivePowerMax::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ReactivePower::Id: {
using TypeInfo = Attributes::ReactivePower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ApparentPower::Id: {
using TypeInfo = Attributes::ApparentPower::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PowerFactor::Id: {
using TypeInfo = Attributes::PowerFactor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::AverageRmsVoltageMeasurementPeriod::Id: {
using TypeInfo = Attributes::AverageRmsVoltageMeasurementPeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AverageRmsUnderVoltageCounter::Id: {
using TypeInfo = Attributes::AverageRmsUnderVoltageCounter::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsExtremeOverVoltagePeriod::Id: {
using TypeInfo = Attributes::RmsExtremeOverVoltagePeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsExtremeUnderVoltagePeriod::Id: {
using TypeInfo = Attributes::RmsExtremeUnderVoltagePeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageSagPeriod::Id: {
using TypeInfo = Attributes::RmsVoltageSagPeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageSwellPeriod::Id: {
using TypeInfo = Attributes::RmsVoltageSwellPeriod::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcVoltageMultiplier::Id: {
using TypeInfo = Attributes::AcVoltageMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcVoltageDivisor::Id: {
using TypeInfo = Attributes::AcVoltageDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcCurrentMultiplier::Id: {
using TypeInfo = Attributes::AcCurrentMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcCurrentDivisor::Id: {
using TypeInfo = Attributes::AcCurrentDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcPowerMultiplier::Id: {
using TypeInfo = Attributes::AcPowerMultiplier::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcPowerDivisor::Id: {
using TypeInfo = Attributes::AcPowerDivisor::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::OverloadAlarmsMask::Id: {
using TypeInfo = Attributes::OverloadAlarmsMask::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::VoltageOverload::Id: {
using TypeInfo = Attributes::VoltageOverload::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::CurrentOverload::Id: {
using TypeInfo = Attributes::CurrentOverload::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AcOverloadAlarmsMask::Id: {
using TypeInfo = Attributes::AcOverloadAlarmsMask::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AcVoltageOverload::Id: {
using TypeInfo = Attributes::AcVoltageOverload::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AcCurrentOverload::Id: {
using TypeInfo = Attributes::AcCurrentOverload::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AcActivePowerOverload::Id: {
using TypeInfo = Attributes::AcActivePowerOverload::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AcReactivePowerOverload::Id: {
using TypeInfo = Attributes::AcReactivePowerOverload::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AverageRmsOverVoltage::Id: {
using TypeInfo = Attributes::AverageRmsOverVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::AverageRmsUnderVoltage::Id: {
using TypeInfo = Attributes::AverageRmsUnderVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsExtremeOverVoltage::Id: {
using TypeInfo = Attributes::RmsExtremeOverVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsExtremeUnderVoltage::Id: {
using TypeInfo = Attributes::RmsExtremeUnderVoltage::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsVoltageSag::Id: {
using TypeInfo = Attributes::RmsVoltageSag::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsVoltageSwell::Id: {
using TypeInfo = Attributes::RmsVoltageSwell::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::LineCurrentPhaseB::Id: {
using TypeInfo = Attributes::LineCurrentPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ActiveCurrentPhaseB::Id: {
using TypeInfo = Attributes::ActiveCurrentPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ReactiveCurrentPhaseB::Id: {
using TypeInfo = Attributes::ReactiveCurrentPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsVoltagePhaseB::Id: {
using TypeInfo = Attributes::RmsVoltagePhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageMinPhaseB::Id: {
using TypeInfo = Attributes::RmsVoltageMinPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageMaxPhaseB::Id: {
using TypeInfo = Attributes::RmsVoltageMaxPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentPhaseB::Id: {
using TypeInfo = Attributes::RmsCurrentPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentMinPhaseB::Id: {
using TypeInfo = Attributes::RmsCurrentMinPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentMaxPhaseB::Id: {
using TypeInfo = Attributes::RmsCurrentMaxPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ActivePowerPhaseB::Id: {
using TypeInfo = Attributes::ActivePowerPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ActivePowerMinPhaseB::Id: {
using TypeInfo = Attributes::ActivePowerMinPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ActivePowerMaxPhaseB::Id: {
using TypeInfo = Attributes::ActivePowerMaxPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ReactivePowerPhaseB::Id: {
using TypeInfo = Attributes::ReactivePowerPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ApparentPowerPhaseB::Id: {
using TypeInfo = Attributes::ApparentPowerPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PowerFactorPhaseB::Id: {
using TypeInfo = Attributes::PowerFactorPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id: {
using TypeInfo = Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AverageRmsOverVoltageCounterPhaseB::Id: {
using TypeInfo = Attributes::AverageRmsOverVoltageCounterPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AverageRmsUnderVoltageCounterPhaseB::Id: {
using TypeInfo = Attributes::AverageRmsUnderVoltageCounterPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id: {
using TypeInfo = Attributes::RmsExtremeOverVoltagePeriodPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id: {
using TypeInfo = Attributes::RmsExtremeUnderVoltagePeriodPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageSagPeriodPhaseB::Id: {
using TypeInfo = Attributes::RmsVoltageSagPeriodPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageSwellPeriodPhaseB::Id: {
using TypeInfo = Attributes::RmsVoltageSwellPeriodPhaseB::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::LineCurrentPhaseC::Id: {
using TypeInfo = Attributes::LineCurrentPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ActiveCurrentPhaseC::Id: {
using TypeInfo = Attributes::ActiveCurrentPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ReactiveCurrentPhaseC::Id: {
using TypeInfo = Attributes::ReactiveCurrentPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::RmsVoltagePhaseC::Id: {
using TypeInfo = Attributes::RmsVoltagePhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageMinPhaseC::Id: {
using TypeInfo = Attributes::RmsVoltageMinPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageMaxPhaseC::Id: {
using TypeInfo = Attributes::RmsVoltageMaxPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentPhaseC::Id: {
using TypeInfo = Attributes::RmsCurrentPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentMinPhaseC::Id: {
using TypeInfo = Attributes::RmsCurrentMinPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsCurrentMaxPhaseC::Id: {
using TypeInfo = Attributes::RmsCurrentMaxPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::ActivePowerPhaseC::Id: {
using TypeInfo = Attributes::ActivePowerPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ActivePowerMinPhaseC::Id: {
using TypeInfo = Attributes::ActivePowerMinPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ActivePowerMaxPhaseC::Id: {
using TypeInfo = Attributes::ActivePowerMaxPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ReactivePowerPhaseC::Id: {
using TypeInfo = Attributes::ReactivePowerPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ApparentPowerPhaseC::Id: {
using TypeInfo = Attributes::ApparentPowerPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::PowerFactorPhaseC::Id: {
using TypeInfo = Attributes::PowerFactorPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id: {
using TypeInfo = Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AverageRmsOverVoltageCounterPhaseC::Id: {
using TypeInfo = Attributes::AverageRmsOverVoltageCounterPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::AverageRmsUnderVoltageCounterPhaseC::Id: {
using TypeInfo = Attributes::AverageRmsUnderVoltageCounterPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id: {
using TypeInfo = Attributes::RmsExtremeOverVoltagePeriodPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id: {
using TypeInfo = Attributes::RmsExtremeUnderVoltagePeriodPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageSagPeriodPhaseC::Id: {
using TypeInfo = Attributes::RmsVoltageSagPeriodPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RmsVoltageSwellPeriodPhaseC::Id: {
using TypeInfo = Attributes::RmsVoltageSwellPeriodPhaseC::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
case Clusters::TestCluster::Id: {
using namespace Clusters::TestCluster;
switch (aPath.mAttributeId) {
case Attributes::Boolean::Id: {
using TypeInfo = Attributes::Boolean::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::Bitmap8::Id: {
using TypeInfo = Attributes::Bitmap8::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::Bitmap16::Id: {
using TypeInfo = Attributes::Bitmap16::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue.Raw()];
return value;
}
case Attributes::Bitmap32::Id: {
using TypeInfo = Attributes::Bitmap32::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue.Raw()];
return value;
}
case Attributes::Bitmap64::Id: {
using TypeInfo = Attributes::Bitmap64::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue.Raw()];
return value;
}
case Attributes::Int8u::Id: {
using TypeInfo = Attributes::Int8u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::Int16u::Id: {
using TypeInfo = Attributes::Int16u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::Int24u::Id: {
using TypeInfo = Attributes::Int24u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::Int32u::Id: {
using TypeInfo = Attributes::Int32u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::Int40u::Id: {
using TypeInfo = Attributes::Int40u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::Int48u::Id: {
using TypeInfo = Attributes::Int48u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::Int56u::Id: {
using TypeInfo = Attributes::Int56u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::Int64u::Id: {
using TypeInfo = Attributes::Int64u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::Int8s::Id: {
using TypeInfo = Attributes::Int8s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::Int16s::Id: {
using TypeInfo = Attributes::Int16s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::Int24s::Id: {
using TypeInfo = Attributes::Int24s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithInt:cppValue];
return value;
}
case Attributes::Int32s::Id: {
using TypeInfo = Attributes::Int32s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithInt:cppValue];
return value;
}
case Attributes::Int40s::Id: {
using TypeInfo = Attributes::Int40s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithLongLong:cppValue];
return value;
}
case Attributes::Int48s::Id: {
using TypeInfo = Attributes::Int48s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithLongLong:cppValue];
return value;
}
case Attributes::Int56s::Id: {
using TypeInfo = Attributes::Int56s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithLongLong:cppValue];
return value;
}
case Attributes::Int64s::Id: {
using TypeInfo = Attributes::Int64s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithLongLong:cppValue];
return value;
}
case Attributes::Enum8::Id: {
using TypeInfo = Attributes::Enum8::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::Enum16::Id: {
using TypeInfo = Attributes::Enum16::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::FloatSingle::Id: {
using TypeInfo = Attributes::FloatSingle::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithFloat:cppValue];
return value;
}
case Attributes::FloatDouble::Id: {
using TypeInfo = Attributes::FloatDouble::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithDouble:cppValue];
return value;
}
case Attributes::OctetString::Id: {
using TypeInfo = Attributes::OctetString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nonnull value;
value = [NSData dataWithBytes:cppValue.data() length:cppValue.size()];
return value;
}
case Attributes::ListInt8u::Id: {
using TypeInfo = Attributes::ListInt8u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedChar:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ListOctetString::Id: {
using TypeInfo = Attributes::ListOctetString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSData * newElement_0;
newElement_0 = [NSData dataWithBytes:entry_0.data() length:entry_0.size()];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ListStructOctetString::Id: {
using TypeInfo = Attributes::ListStructOctetString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRTestClusterClusterTestListStructOctet * newElement_0;
newElement_0 = [MTRTestClusterClusterTestListStructOctet new];
newElement_0.member1 = [NSNumber numberWithUnsignedLongLong:entry_0.member1];
newElement_0.member2 = [NSData dataWithBytes:entry_0.member2.data() length:entry_0.member2.size()];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::LongOctetString::Id: {
using TypeInfo = Attributes::LongOctetString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nonnull value;
value = [NSData dataWithBytes:cppValue.data() length:cppValue.size()];
return value;
}
case Attributes::CharString::Id: {
using TypeInfo = Attributes::CharString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::LongCharString::Id: {
using TypeInfo = Attributes::LongCharString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nonnull value;
value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding];
return value;
}
case Attributes::EpochUs::Id: {
using TypeInfo = Attributes::EpochUs::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedLongLong:cppValue];
return value;
}
case Attributes::EpochS::Id: {
using TypeInfo = Attributes::EpochS::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::VendorId::Id: {
using TypeInfo = Attributes::VendorId::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ListNullablesAndOptionalsStruct::Id: {
using TypeInfo = Attributes::ListNullablesAndOptionalsStruct::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRTestClusterClusterNullablesAndOptionalsStruct * newElement_0;
newElement_0 = [MTRTestClusterClusterNullablesAndOptionalsStruct new];
if (entry_0.nullableInt.IsNull()) {
newElement_0.nullableInt = nil;
} else {
newElement_0.nullableInt = [NSNumber numberWithUnsignedShort:entry_0.nullableInt.Value()];
}
if (entry_0.optionalInt.HasValue()) {
newElement_0.optionalInt = [NSNumber numberWithUnsignedShort:entry_0.optionalInt.Value()];
} else {
newElement_0.optionalInt = nil;
}
if (entry_0.nullableOptionalInt.HasValue()) {
if (entry_0.nullableOptionalInt.Value().IsNull()) {
newElement_0.nullableOptionalInt = nil;
} else {
newElement_0.nullableOptionalInt =
[NSNumber numberWithUnsignedShort:entry_0.nullableOptionalInt.Value().Value()];
}
} else {
newElement_0.nullableOptionalInt = nil;
}
if (entry_0.nullableString.IsNull()) {
newElement_0.nullableString = nil;
} else {
newElement_0.nullableString = [[NSString alloc] initWithBytes:entry_0.nullableString.Value().data()
length:entry_0.nullableString.Value().size()
encoding:NSUTF8StringEncoding];
}
if (entry_0.optionalString.HasValue()) {
newElement_0.optionalString = [[NSString alloc] initWithBytes:entry_0.optionalString.Value().data()
length:entry_0.optionalString.Value().size()
encoding:NSUTF8StringEncoding];
} else {
newElement_0.optionalString = nil;
}
if (entry_0.nullableOptionalString.HasValue()) {
if (entry_0.nullableOptionalString.Value().IsNull()) {
newElement_0.nullableOptionalString = nil;
} else {
newElement_0.nullableOptionalString =
[[NSString alloc] initWithBytes:entry_0.nullableOptionalString.Value().Value().data()
length:entry_0.nullableOptionalString.Value().Value().size()
encoding:NSUTF8StringEncoding];
}
} else {
newElement_0.nullableOptionalString = nil;
}
if (entry_0.nullableStruct.IsNull()) {
newElement_0.nullableStruct = nil;
} else {
newElement_0.nullableStruct = [MTRTestClusterClusterSimpleStruct new];
newElement_0.nullableStruct.a = [NSNumber numberWithUnsignedChar:entry_0.nullableStruct.Value().a];
newElement_0.nullableStruct.b = [NSNumber numberWithBool:entry_0.nullableStruct.Value().b];
newElement_0.nullableStruct.c =
[NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.nullableStruct.Value().c)];
newElement_0.nullableStruct.d = [NSData dataWithBytes:entry_0.nullableStruct.Value().d.data()
length:entry_0.nullableStruct.Value().d.size()];
newElement_0.nullableStruct.e = [[NSString alloc] initWithBytes:entry_0.nullableStruct.Value().e.data()
length:entry_0.nullableStruct.Value().e.size()
encoding:NSUTF8StringEncoding];
newElement_0.nullableStruct.f = [NSNumber numberWithUnsignedChar:entry_0.nullableStruct.Value().f.Raw()];
newElement_0.nullableStruct.g = [NSNumber numberWithFloat:entry_0.nullableStruct.Value().g];
newElement_0.nullableStruct.h = [NSNumber numberWithDouble:entry_0.nullableStruct.Value().h];
}
if (entry_0.optionalStruct.HasValue()) {
newElement_0.optionalStruct = [MTRTestClusterClusterSimpleStruct new];
newElement_0.optionalStruct.a = [NSNumber numberWithUnsignedChar:entry_0.optionalStruct.Value().a];
newElement_0.optionalStruct.b = [NSNumber numberWithBool:entry_0.optionalStruct.Value().b];
newElement_0.optionalStruct.c =
[NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.optionalStruct.Value().c)];
newElement_0.optionalStruct.d = [NSData dataWithBytes:entry_0.optionalStruct.Value().d.data()
length:entry_0.optionalStruct.Value().d.size()];
newElement_0.optionalStruct.e = [[NSString alloc] initWithBytes:entry_0.optionalStruct.Value().e.data()
length:entry_0.optionalStruct.Value().e.size()
encoding:NSUTF8StringEncoding];
newElement_0.optionalStruct.f = [NSNumber numberWithUnsignedChar:entry_0.optionalStruct.Value().f.Raw()];
newElement_0.optionalStruct.g = [NSNumber numberWithFloat:entry_0.optionalStruct.Value().g];
newElement_0.optionalStruct.h = [NSNumber numberWithDouble:entry_0.optionalStruct.Value().h];
} else {
newElement_0.optionalStruct = nil;
}
if (entry_0.nullableOptionalStruct.HasValue()) {
if (entry_0.nullableOptionalStruct.Value().IsNull()) {
newElement_0.nullableOptionalStruct = nil;
} else {
newElement_0.nullableOptionalStruct = [MTRTestClusterClusterSimpleStruct new];
newElement_0.nullableOptionalStruct.a =
[NSNumber numberWithUnsignedChar:entry_0.nullableOptionalStruct.Value().Value().a];
newElement_0.nullableOptionalStruct.b =
[NSNumber numberWithBool:entry_0.nullableOptionalStruct.Value().Value().b];
newElement_0.nullableOptionalStruct.c = [NSNumber
numberWithUnsignedChar:chip::to_underlying(entry_0.nullableOptionalStruct.Value().Value().c)];
newElement_0.nullableOptionalStruct.d =
[NSData dataWithBytes:entry_0.nullableOptionalStruct.Value().Value().d.data()
length:entry_0.nullableOptionalStruct.Value().Value().d.size()];
newElement_0.nullableOptionalStruct.e =
[[NSString alloc] initWithBytes:entry_0.nullableOptionalStruct.Value().Value().e.data()
length:entry_0.nullableOptionalStruct.Value().Value().e.size()
encoding:NSUTF8StringEncoding];
newElement_0.nullableOptionalStruct.f =
[NSNumber numberWithUnsignedChar:entry_0.nullableOptionalStruct.Value().Value().f.Raw()];
newElement_0.nullableOptionalStruct.g =
[NSNumber numberWithFloat:entry_0.nullableOptionalStruct.Value().Value().g];
newElement_0.nullableOptionalStruct.h =
[NSNumber numberWithDouble:entry_0.nullableOptionalStruct.Value().Value().h];
}
} else {
newElement_0.nullableOptionalStruct = nil;
}
if (entry_0.nullableList.IsNull()) {
newElement_0.nullableList = nil;
} else {
{ // Scope for our temporary variables
auto * array_3 = [NSMutableArray new];
auto iter_3 = entry_0.nullableList.Value().begin();
while (iter_3.Next()) {
auto & entry_3 = iter_3.GetValue();
NSNumber * newElement_3;
newElement_3 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_3)];
[array_3 addObject:newElement_3];
}
CHIP_ERROR err = iter_3.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.nullableList = array_3;
}
}
if (entry_0.optionalList.HasValue()) {
{ // Scope for our temporary variables
auto * array_3 = [NSMutableArray new];
auto iter_3 = entry_0.optionalList.Value().begin();
while (iter_3.Next()) {
auto & entry_3 = iter_3.GetValue();
NSNumber * newElement_3;
newElement_3 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_3)];
[array_3 addObject:newElement_3];
}
CHIP_ERROR err = iter_3.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.optionalList = array_3;
}
} else {
newElement_0.optionalList = nil;
}
if (entry_0.nullableOptionalList.HasValue()) {
if (entry_0.nullableOptionalList.Value().IsNull()) {
newElement_0.nullableOptionalList = nil;
} else {
{ // Scope for our temporary variables
auto * array_4 = [NSMutableArray new];
auto iter_4 = entry_0.nullableOptionalList.Value().Value().begin();
while (iter_4.Next()) {
auto & entry_4 = iter_4.GetValue();
NSNumber * newElement_4;
newElement_4 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_4)];
[array_4 addObject:newElement_4];
}
CHIP_ERROR err = iter_4.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.nullableOptionalList = array_4;
}
}
} else {
newElement_0.nullableOptionalList = nil;
}
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::EnumAttr::Id: {
using TypeInfo = Attributes::EnumAttr::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::StructAttr::Id: {
using TypeInfo = Attributes::StructAttr::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRTestClusterClusterSimpleStruct * _Nonnull value;
value = [MTRTestClusterClusterSimpleStruct new];
value.a = [NSNumber numberWithUnsignedChar:cppValue.a];
value.b = [NSNumber numberWithBool:cppValue.b];
value.c = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.c)];
value.d = [NSData dataWithBytes:cppValue.d.data() length:cppValue.d.size()];
value.e = [[NSString alloc] initWithBytes:cppValue.e.data() length:cppValue.e.size() encoding:NSUTF8StringEncoding];
value.f = [NSNumber numberWithUnsignedChar:cppValue.f.Raw()];
value.g = [NSNumber numberWithFloat:cppValue.g];
value.h = [NSNumber numberWithDouble:cppValue.h];
return value;
}
case Attributes::RangeRestrictedInt8u::Id: {
using TypeInfo = Attributes::RangeRestrictedInt8u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
case Attributes::RangeRestrictedInt8s::Id: {
using TypeInfo = Attributes::RangeRestrictedInt8s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithChar:cppValue];
return value;
}
case Attributes::RangeRestrictedInt16u::Id: {
using TypeInfo = Attributes::RangeRestrictedInt16u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
case Attributes::RangeRestrictedInt16s::Id: {
using TypeInfo = Attributes::RangeRestrictedInt16s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithShort:cppValue];
return value;
}
case Attributes::ListLongOctetString::Id: {
using TypeInfo = Attributes::ListLongOctetString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSData * newElement_0;
newElement_0 = [NSData dataWithBytes:entry_0.data() length:entry_0.size()];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::ListFabricScoped::Id: {
using TypeInfo = Attributes::ListFabricScoped::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
MTRTestClusterClusterTestFabricScoped * newElement_0;
newElement_0 = [MTRTestClusterClusterTestFabricScoped new];
newElement_0.fabricSensitiveInt8u = [NSNumber numberWithUnsignedChar:entry_0.fabricSensitiveInt8u];
if (entry_0.optionalFabricSensitiveInt8u.HasValue()) {
newElement_0.optionalFabricSensitiveInt8u =
[NSNumber numberWithUnsignedChar:entry_0.optionalFabricSensitiveInt8u.Value()];
} else {
newElement_0.optionalFabricSensitiveInt8u = nil;
}
if (entry_0.nullableFabricSensitiveInt8u.IsNull()) {
newElement_0.nullableFabricSensitiveInt8u = nil;
} else {
newElement_0.nullableFabricSensitiveInt8u =
[NSNumber numberWithUnsignedChar:entry_0.nullableFabricSensitiveInt8u.Value()];
}
if (entry_0.nullableOptionalFabricSensitiveInt8u.HasValue()) {
if (entry_0.nullableOptionalFabricSensitiveInt8u.Value().IsNull()) {
newElement_0.nullableOptionalFabricSensitiveInt8u = nil;
} else {
newElement_0.nullableOptionalFabricSensitiveInt8u =
[NSNumber numberWithUnsignedChar:entry_0.nullableOptionalFabricSensitiveInt8u.Value().Value()];
}
} else {
newElement_0.nullableOptionalFabricSensitiveInt8u = nil;
}
newElement_0.fabricSensitiveCharString =
[[NSString alloc] initWithBytes:entry_0.fabricSensitiveCharString.data()
length:entry_0.fabricSensitiveCharString.size()
encoding:NSUTF8StringEncoding];
newElement_0.fabricSensitiveStruct = [MTRTestClusterClusterSimpleStruct new];
newElement_0.fabricSensitiveStruct.a = [NSNumber numberWithUnsignedChar:entry_0.fabricSensitiveStruct.a];
newElement_0.fabricSensitiveStruct.b = [NSNumber numberWithBool:entry_0.fabricSensitiveStruct.b];
newElement_0.fabricSensitiveStruct.c =
[NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.fabricSensitiveStruct.c)];
newElement_0.fabricSensitiveStruct.d = [NSData dataWithBytes:entry_0.fabricSensitiveStruct.d.data()
length:entry_0.fabricSensitiveStruct.d.size()];
newElement_0.fabricSensitiveStruct.e = [[NSString alloc] initWithBytes:entry_0.fabricSensitiveStruct.e.data()
length:entry_0.fabricSensitiveStruct.e.size()
encoding:NSUTF8StringEncoding];
newElement_0.fabricSensitiveStruct.f = [NSNumber numberWithUnsignedChar:entry_0.fabricSensitiveStruct.f.Raw()];
newElement_0.fabricSensitiveStruct.g = [NSNumber numberWithFloat:entry_0.fabricSensitiveStruct.g];
newElement_0.fabricSensitiveStruct.h = [NSNumber numberWithDouble:entry_0.fabricSensitiveStruct.h];
{ // Scope for our temporary variables
auto * array_2 = [NSMutableArray new];
auto iter_2 = entry_0.fabricSensitiveInt8uList.begin();
while (iter_2.Next()) {
auto & entry_2 = iter_2.GetValue();
NSNumber * newElement_2;
newElement_2 = [NSNumber numberWithUnsignedChar:entry_2];
[array_2 addObject:newElement_2];
}
CHIP_ERROR err = iter_2.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
newElement_0.fabricSensitiveInt8uList = array_2;
}
newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::TimedWriteBoolean::Id: {
using TypeInfo = Attributes::TimedWriteBoolean::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::GeneralErrorBoolean::Id: {
using TypeInfo = Attributes::GeneralErrorBoolean::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::ClusterErrorBoolean::Id: {
using TypeInfo = Attributes::ClusterErrorBoolean::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::Unsupported::Id: {
using TypeInfo = Attributes::Unsupported::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithBool:cppValue];
return value;
}
case Attributes::NullableBoolean::Id: {
using TypeInfo = Attributes::NullableBoolean::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithBool:cppValue.Value()];
}
return value;
}
case Attributes::NullableBitmap8::Id: {
using TypeInfo = Attributes::NullableBitmap8::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value().Raw()];
}
return value;
}
case Attributes::NullableBitmap16::Id: {
using TypeInfo = Attributes::NullableBitmap16::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value().Raw()];
}
return value;
}
case Attributes::NullableBitmap32::Id: {
using TypeInfo = Attributes::NullableBitmap32::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value().Raw()];
}
return value;
}
case Attributes::NullableBitmap64::Id: {
using TypeInfo = Attributes::NullableBitmap64::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value().Raw()];
}
return value;
}
case Attributes::NullableInt8u::Id: {
using TypeInfo = Attributes::NullableInt8u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt16u::Id: {
using TypeInfo = Attributes::NullableInt16u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt24u::Id: {
using TypeInfo = Attributes::NullableInt24u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt32u::Id: {
using TypeInfo = Attributes::NullableInt32u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedInt:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt40u::Id: {
using TypeInfo = Attributes::NullableInt40u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt48u::Id: {
using TypeInfo = Attributes::NullableInt48u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt56u::Id: {
using TypeInfo = Attributes::NullableInt56u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt64u::Id: {
using TypeInfo = Attributes::NullableInt64u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt8s::Id: {
using TypeInfo = Attributes::NullableInt8s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithChar:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt16s::Id: {
using TypeInfo = Attributes::NullableInt16s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt24s::Id: {
using TypeInfo = Attributes::NullableInt24s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithInt:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt32s::Id: {
using TypeInfo = Attributes::NullableInt32s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithInt:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt40s::Id: {
using TypeInfo = Attributes::NullableInt40s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt48s::Id: {
using TypeInfo = Attributes::NullableInt48s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt56s::Id: {
using TypeInfo = Attributes::NullableInt56s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableInt64s::Id: {
using TypeInfo = Attributes::NullableInt64s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithLongLong:cppValue.Value()];
}
return value;
}
case Attributes::NullableEnum8::Id: {
using TypeInfo = Attributes::NullableEnum8::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::NullableEnum16::Id: {
using TypeInfo = Attributes::NullableEnum16::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::NullableFloatSingle::Id: {
using TypeInfo = Attributes::NullableFloatSingle::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithFloat:cppValue.Value()];
}
return value;
}
case Attributes::NullableFloatDouble::Id: {
using TypeInfo = Attributes::NullableFloatDouble::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithDouble:cppValue.Value()];
}
return value;
}
case Attributes::NullableOctetString::Id: {
using TypeInfo = Attributes::NullableOctetString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSData * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSData dataWithBytes:cppValue.Value().data() length:cppValue.Value().size()];
}
return value;
}
case Attributes::NullableCharString::Id: {
using TypeInfo = Attributes::NullableCharString::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSString * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [[NSString alloc] initWithBytes:cppValue.Value().data()
length:cppValue.Value().size()
encoding:NSUTF8StringEncoding];
}
return value;
}
case Attributes::NullableEnumAttr::Id: {
using TypeInfo = Attributes::NullableEnumAttr::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value())];
}
return value;
}
case Attributes::NullableStruct::Id: {
using TypeInfo = Attributes::NullableStruct::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
MTRTestClusterClusterSimpleStruct * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [MTRTestClusterClusterSimpleStruct new];
value.a = [NSNumber numberWithUnsignedChar:cppValue.Value().a];
value.b = [NSNumber numberWithBool:cppValue.Value().b];
value.c = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.Value().c)];
value.d = [NSData dataWithBytes:cppValue.Value().d.data() length:cppValue.Value().d.size()];
value.e = [[NSString alloc] initWithBytes:cppValue.Value().e.data()
length:cppValue.Value().e.size()
encoding:NSUTF8StringEncoding];
value.f = [NSNumber numberWithUnsignedChar:cppValue.Value().f.Raw()];
value.g = [NSNumber numberWithFloat:cppValue.Value().g];
value.h = [NSNumber numberWithDouble:cppValue.Value().h];
}
return value;
}
case Attributes::NullableRangeRestrictedInt8u::Id: {
using TypeInfo = Attributes::NullableRangeRestrictedInt8u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
}
return value;
}
case Attributes::NullableRangeRestrictedInt8s::Id: {
using TypeInfo = Attributes::NullableRangeRestrictedInt8s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithChar:cppValue.Value()];
}
return value;
}
case Attributes::NullableRangeRestrictedInt16u::Id: {
using TypeInfo = Attributes::NullableRangeRestrictedInt16u::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
}
return value;
}
case Attributes::NullableRangeRestrictedInt16s::Id: {
using TypeInfo = Attributes::NullableRangeRestrictedInt16s::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nullable value;
if (cppValue.IsNull()) {
value = nil;
} else {
value = [NSNumber numberWithShort:cppValue.Value()];
}
return value;
}
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AcceptedCommandList::Id: {
using TypeInfo = Attributes::AcceptedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::AttributeList::Id: {
using TypeInfo = Attributes::AttributeList::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSArray * _Nonnull value;
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
auto iter_0 = cppValue.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
NSNumber * newElement_0;
newElement_0 = [NSNumber numberWithUnsignedInt:entry_0];
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
if (err != CHIP_NO_ERROR) {
*aError = err;
return nil;
}
value = array_0;
}
return value;
}
case Attributes::FeatureMap::Id: {
using TypeInfo = Attributes::FeatureMap::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
case Attributes::ClusterRevision::Id: {
using TypeInfo = Attributes::ClusterRevision::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
NSNumber * _Nonnull value;
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
break;
}
default: {
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
break;
}
}
return nil;
}