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/CommodityTariff/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/CommodityTariff/AttributeIds.h>
36
#include <clusters/CommodityTariff/ClusterId.h>
37
#include <clusters/CommodityTariff/Enums.h>
38
#include <clusters/CommodityTariff/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace CommodityTariff {
44
namespace Attributes {
45
46
namespace TariffInfo {
47
struct TypeInfo
48
{
49
    using Type = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::TariffInformationStruct::Type>;
50
    using DecodableType =
51
        chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::TariffInformationStruct::DecodableType>;
52
    using DecodableArgType = const chip::app::DataModel::Nullable<
53
        chip::app::Clusters::CommodityTariff::Structs::TariffInformationStruct::DecodableType> &;
54
55
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
56
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TariffInfo::Id; }
57
0
    static constexpr bool MustUseTimedWrite() { return false; }
58
};
59
} // namespace TariffInfo
60
namespace TariffUnit {
61
struct TypeInfo
62
{
63
    using Type             = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TariffUnitEnum>;
64
    using DecodableType    = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TariffUnitEnum>;
65
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TariffUnitEnum> &;
66
67
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
68
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TariffUnit::Id; }
69
0
    static constexpr bool MustUseTimedWrite() { return false; }
70
};
71
} // namespace TariffUnit
72
namespace StartDate {
73
struct TypeInfo
74
{
75
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
76
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
77
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
78
79
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
80
0
    static constexpr AttributeId GetAttributeId() { return Attributes::StartDate::Id; }
81
0
    static constexpr bool MustUseTimedWrite() { return false; }
82
};
83
} // namespace StartDate
84
namespace DayEntries {
85
struct TypeInfo
86
{
87
    using Type = chip::app::DataModel::Nullable<
88
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::Type>>;
89
    using DecodableType = chip::app::DataModel::Nullable<
90
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::DecodableType>>;
91
    using DecodableArgType = const chip::app::DataModel::Nullable<
92
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::DecodableType>> &;
93
94
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
95
0
    static constexpr AttributeId GetAttributeId() { return Attributes::DayEntries::Id; }
96
0
    static constexpr bool MustUseTimedWrite() { return false; }
97
};
98
} // namespace DayEntries
99
namespace DayPatterns {
100
struct TypeInfo
101
{
102
    using Type = chip::app::DataModel::Nullable<
103
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::DayPatternStruct::Type>>;
104
    using DecodableType = chip::app::DataModel::Nullable<
105
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::DayPatternStruct::DecodableType>>;
106
    using DecodableArgType = const chip::app::DataModel::Nullable<
107
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::DayPatternStruct::DecodableType>> &;
108
109
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
110
0
    static constexpr AttributeId GetAttributeId() { return Attributes::DayPatterns::Id; }
111
0
    static constexpr bool MustUseTimedWrite() { return false; }
112
};
113
} // namespace DayPatterns
114
namespace CalendarPeriods {
115
struct TypeInfo
116
{
117
    using Type = chip::app::DataModel::Nullable<
118
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::CalendarPeriodStruct::Type>>;
119
    using DecodableType = chip::app::DataModel::Nullable<
120
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::CalendarPeriodStruct::DecodableType>>;
121
    using DecodableArgType = const chip::app::DataModel::Nullable<
122
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::CalendarPeriodStruct::DecodableType>> &;
123
124
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
125
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CalendarPeriods::Id; }
126
0
    static constexpr bool MustUseTimedWrite() { return false; }
127
};
128
} // namespace CalendarPeriods
129
namespace IndividualDays {
130
struct TypeInfo
131
{
132
    using Type = chip::app::DataModel::Nullable<
133
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::DayStruct::Type>>;
134
    using DecodableType = chip::app::DataModel::Nullable<
135
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::DayStruct::DecodableType>>;
136
    using DecodableArgType = const chip::app::DataModel::Nullable<
137
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::DayStruct::DecodableType>> &;
138
139
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
140
0
    static constexpr AttributeId GetAttributeId() { return Attributes::IndividualDays::Id; }
141
0
    static constexpr bool MustUseTimedWrite() { return false; }
142
};
143
} // namespace IndividualDays
144
namespace CurrentDay {
145
struct TypeInfo
146
{
147
    using Type          = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayStruct::Type>;
148
    using DecodableType = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayStruct::DecodableType>;
149
    using DecodableArgType =
150
        const chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayStruct::DecodableType> &;
151
152
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
153
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentDay::Id; }
154
0
    static constexpr bool MustUseTimedWrite() { return false; }
155
};
156
} // namespace CurrentDay
157
namespace NextDay {
158
struct TypeInfo
159
{
160
    using Type          = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayStruct::Type>;
161
    using DecodableType = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayStruct::DecodableType>;
162
    using DecodableArgType =
163
        const chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayStruct::DecodableType> &;
164
165
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
166
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextDay::Id; }
167
0
    static constexpr bool MustUseTimedWrite() { return false; }
168
};
169
} // namespace NextDay
170
namespace CurrentDayEntry {
171
struct TypeInfo
172
{
173
    using Type = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::Type>;
174
    using DecodableType =
175
        chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::DecodableType>;
176
    using DecodableArgType =
177
        const chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::DecodableType> &;
178
179
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
180
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentDayEntry::Id; }
181
0
    static constexpr bool MustUseTimedWrite() { return false; }
182
};
183
} // namespace CurrentDayEntry
184
namespace CurrentDayEntryDate {
185
struct TypeInfo
186
{
187
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
188
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
189
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
190
191
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
192
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentDayEntryDate::Id; }
193
0
    static constexpr bool MustUseTimedWrite() { return false; }
194
};
195
} // namespace CurrentDayEntryDate
196
namespace NextDayEntry {
197
struct TypeInfo
198
{
199
    using Type = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::Type>;
200
    using DecodableType =
201
        chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::DecodableType>;
202
    using DecodableArgType =
203
        const chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::Structs::DayEntryStruct::DecodableType> &;
204
205
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
206
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextDayEntry::Id; }
207
0
    static constexpr bool MustUseTimedWrite() { return false; }
208
};
209
} // namespace NextDayEntry
210
namespace NextDayEntryDate {
211
struct TypeInfo
212
{
213
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
214
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
215
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
216
217
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
218
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextDayEntryDate::Id; }
219
0
    static constexpr bool MustUseTimedWrite() { return false; }
220
};
221
} // namespace NextDayEntryDate
222
namespace TariffComponents {
223
struct TypeInfo
224
{
225
    using Type = chip::app::DataModel::Nullable<
226
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::Type>>;
227
    using DecodableType = chip::app::DataModel::Nullable<
228
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::DecodableType>>;
229
    using DecodableArgType = const chip::app::DataModel::Nullable<
230
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::DecodableType>> &;
231
232
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
233
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TariffComponents::Id; }
234
0
    static constexpr bool MustUseTimedWrite() { return false; }
235
};
236
} // namespace TariffComponents
237
namespace TariffPeriods {
238
struct TypeInfo
239
{
240
    using Type = chip::app::DataModel::Nullable<
241
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::TariffPeriodStruct::Type>>;
242
    using DecodableType = chip::app::DataModel::Nullable<
243
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffPeriodStruct::DecodableType>>;
244
    using DecodableArgType = const chip::app::DataModel::Nullable<
245
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffPeriodStruct::DecodableType>> &;
246
247
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
248
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TariffPeriods::Id; }
249
0
    static constexpr bool MustUseTimedWrite() { return false; }
250
};
251
} // namespace TariffPeriods
252
namespace CurrentTariffComponents {
253
struct TypeInfo
254
{
255
    using Type = chip::app::DataModel::Nullable<
256
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::Type>>;
257
    using DecodableType = chip::app::DataModel::Nullable<
258
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::DecodableType>>;
259
    using DecodableArgType = const chip::app::DataModel::Nullable<
260
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::DecodableType>> &;
261
262
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
263
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentTariffComponents::Id; }
264
0
    static constexpr bool MustUseTimedWrite() { return false; }
265
};
266
} // namespace CurrentTariffComponents
267
namespace NextTariffComponents {
268
struct TypeInfo
269
{
270
    using Type = chip::app::DataModel::Nullable<
271
        chip::app::DataModel::List<const chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::Type>>;
272
    using DecodableType = chip::app::DataModel::Nullable<
273
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::DecodableType>>;
274
    using DecodableArgType = const chip::app::DataModel::Nullable<
275
        chip::app::DataModel::DecodableList<chip::app::Clusters::CommodityTariff::Structs::TariffComponentStruct::DecodableType>> &;
276
277
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
278
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextTariffComponents::Id; }
279
0
    static constexpr bool MustUseTimedWrite() { return false; }
280
};
281
} // namespace NextTariffComponents
282
namespace DefaultRandomizationOffset {
283
struct TypeInfo
284
{
285
    using Type             = chip::app::DataModel::Nullable<int16_t>;
286
    using DecodableType    = chip::app::DataModel::Nullable<int16_t>;
287
    using DecodableArgType = const chip::app::DataModel::Nullable<int16_t> &;
288
289
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
290
0
    static constexpr AttributeId GetAttributeId() { return Attributes::DefaultRandomizationOffset::Id; }
291
0
    static constexpr bool MustUseTimedWrite() { return false; }
292
};
293
} // namespace DefaultRandomizationOffset
294
namespace DefaultRandomizationType {
295
struct TypeInfo
296
{
297
    using Type          = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::DayEntryRandomizationTypeEnum>;
298
    using DecodableType = chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::DayEntryRandomizationTypeEnum>;
299
    using DecodableArgType =
300
        const chip::app::DataModel::Nullable<chip::app::Clusters::CommodityTariff::DayEntryRandomizationTypeEnum> &;
301
302
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
303
0
    static constexpr AttributeId GetAttributeId() { return Attributes::DefaultRandomizationType::Id; }
304
0
    static constexpr bool MustUseTimedWrite() { return false; }
305
};
306
} // namespace DefaultRandomizationType
307
namespace GeneratedCommandList {
308
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
309
{
310
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
311
};
312
} // namespace GeneratedCommandList
313
namespace AcceptedCommandList {
314
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
315
{
316
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
317
};
318
} // namespace AcceptedCommandList
319
namespace AttributeList {
320
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
321
{
322
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
323
};
324
} // namespace AttributeList
325
namespace FeatureMap {
326
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
327
{
328
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
329
};
330
} // namespace FeatureMap
331
namespace ClusterRevision {
332
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
333
{
334
0
    static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
335
};
336
} // namespace ClusterRevision
337
338
struct TypeInfo
339
{
340
    struct DecodableType
341
    {
342
0
        static constexpr ClusterId GetClusterId() { return Clusters::CommodityTariff::Id; }
343
344
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
345
346
        Attributes::TariffInfo::TypeInfo::DecodableType tariffInfo;
347
        Attributes::TariffUnit::TypeInfo::DecodableType tariffUnit;
348
        Attributes::StartDate::TypeInfo::DecodableType startDate;
349
        Attributes::DayEntries::TypeInfo::DecodableType dayEntries;
350
        Attributes::DayPatterns::TypeInfo::DecodableType dayPatterns;
351
        Attributes::CalendarPeriods::TypeInfo::DecodableType calendarPeriods;
352
        Attributes::IndividualDays::TypeInfo::DecodableType individualDays;
353
        Attributes::CurrentDay::TypeInfo::DecodableType currentDay;
354
        Attributes::NextDay::TypeInfo::DecodableType nextDay;
355
        Attributes::CurrentDayEntry::TypeInfo::DecodableType currentDayEntry;
356
        Attributes::CurrentDayEntryDate::TypeInfo::DecodableType currentDayEntryDate;
357
        Attributes::NextDayEntry::TypeInfo::DecodableType nextDayEntry;
358
        Attributes::NextDayEntryDate::TypeInfo::DecodableType nextDayEntryDate;
359
        Attributes::TariffComponents::TypeInfo::DecodableType tariffComponents;
360
        Attributes::TariffPeriods::TypeInfo::DecodableType tariffPeriods;
361
        Attributes::CurrentTariffComponents::TypeInfo::DecodableType currentTariffComponents;
362
        Attributes::NextTariffComponents::TypeInfo::DecodableType nextTariffComponents;
363
        Attributes::DefaultRandomizationOffset::TypeInfo::DecodableType defaultRandomizationOffset;
364
        Attributes::DefaultRandomizationType::TypeInfo::DecodableType defaultRandomizationType;
365
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
366
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
367
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
368
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
369
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
370
    };
371
};
372
} // namespace Attributes
373
} // namespace CommodityTariff
374
} // namespace Clusters
375
} // namespace app
376
} // namespace chip