Coverage Report

Created: 2026-01-22 06:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/connectedhomeip/zzz_generated/app-common/clusters/CommodityMetering/Attributes.h
Line
Count
Source
1
/*
2
 *
3
 *    Copyright (c) 2022 Project CHIP Authors
4
 *
5
 *    Licensed under the Apache License, Version 2.0 (the "License");
6
 *    you may not use this file except in compliance with the License.
7
 *    You may obtain a copy of the License at
8
 *
9
 *        http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 *    Unless required by applicable law or agreed to in writing, software
12
 *    distributed under the License is distributed on an "AS IS" BASIS,
13
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 *    See the License for the specific language governing permissions and
15
 *    limitations under the License.
16
 */
17
18
// THIS FILE IS GENERATED BY ZAP
19
// This file is generated from clusters-Attributes.h.zapt
20
21
#pragma once
22
23
#include <app/ConcreteAttributePath.h>
24
#include <app/data-model/DecodableList.h>
25
#include <app/data-model/List.h>
26
#include <app/data-model/Nullable.h>
27
#include <app/util/basic-types.h>
28
#include <lib/core/TLV.h>
29
#include <lib/support/BitMask.h>
30
31
#include <clusters/shared/Attributes.h>
32
#include <clusters/shared/Enums.h>
33
#include <clusters/shared/Structs.h>
34
35
#include <clusters/CommodityMetering/AttributeIds.h>
36
#include <clusters/CommodityMetering/ClusterId.h>
37
#include <clusters/CommodityMetering/Enums.h>
38
#include <clusters/CommodityMetering/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace CommodityMetering {
44
namespace Attributes {
45
46
namespace MeteredQuantity {
47
struct TypeInfo
48
{
49
    using Type = chip::app::DataModel::Nullable<
50
        chip::app::DataModel::List<const chip::app::Clusters::CommodityMetering::Structs::MeteredQuantityStruct::Type>>;
51
    using DecodableType = chip::app::DataModel::Nullable<
52
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityMetering::Structs::MeteredQuantityStruct::DecodableType>>;
53
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::DataModel::DecodableList<
54
        chip::app::Clusters::CommodityMetering::Structs::MeteredQuantityStruct::DecodableType>> &;
55
56
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
57
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MeteredQuantity::Id; }
58
0
    static constexpr bool MustUseTimedWrite() { return false; }
59
};
60
} // namespace MeteredQuantity
61
namespace MeteredQuantityTimestamp {
62
struct TypeInfo
63
{
64
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
65
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
66
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
67
68
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
69
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MeteredQuantityTimestamp::Id; }
70
0
    static constexpr bool MustUseTimedWrite() { return false; }
71
};
72
} // namespace MeteredQuantityTimestamp
73
namespace TariffUnit {
74
struct TypeInfo
75
{
76
    using Type             = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TariffUnitEnum>;
77
    using DecodableType    = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TariffUnitEnum>;
78
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TariffUnitEnum> &;
79
80
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
81
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TariffUnit::Id; }
82
0
    static constexpr bool MustUseTimedWrite() { return false; }
83
};
84
} // namespace TariffUnit
85
namespace MaximumMeteredQuantities {
86
struct TypeInfo
87
{
88
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
89
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
90
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
91
92
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
93
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MaximumMeteredQuantities::Id; }
94
0
    static constexpr bool MustUseTimedWrite() { return false; }
95
};
96
} // namespace MaximumMeteredQuantities
97
namespace GeneratedCommandList {
98
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
99
{
100
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
101
};
102
} // namespace GeneratedCommandList
103
namespace AcceptedCommandList {
104
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
105
{
106
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
107
};
108
} // namespace AcceptedCommandList
109
namespace AttributeList {
110
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
111
{
112
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
113
};
114
} // namespace AttributeList
115
namespace FeatureMap {
116
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
117
{
118
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
119
};
120
} // namespace FeatureMap
121
namespace ClusterRevision {
122
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
123
{
124
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
125
};
126
} // namespace ClusterRevision
127
128
struct TypeInfo
129
{
130
    struct DecodableType
131
    {
132
0
        static constexpr ClusterId GetClusterId() { return Clusters::CommodityMetering::Id; }
133
134
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
135
136
        Attributes::MeteredQuantity::TypeInfo::DecodableType meteredQuantity;
137
        Attributes::MeteredQuantityTimestamp::TypeInfo::DecodableType meteredQuantityTimestamp;
138
        Attributes::TariffUnit::TypeInfo::DecodableType tariffUnit;
139
        Attributes::MaximumMeteredQuantities::TypeInfo::DecodableType maximumMeteredQuantities;
140
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
141
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
142
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
143
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
144
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
145
    };
146
};
147
} // namespace Attributes
148
} // namespace CommodityMetering
149
} // namespace Clusters
150
} // namespace app
151
} // namespace chip