Coverage Report

Created: 2026-02-12 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/connectedhomeip/zzz_generated/app-common/clusters/UnitTesting/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/UnitTesting/AttributeIds.h>
36
#include <clusters/UnitTesting/ClusterId.h>
37
#include <clusters/UnitTesting/Enums.h>
38
#include <clusters/UnitTesting/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace UnitTesting {
44
namespace Attributes {
45
46
namespace Boolean {
47
struct TypeInfo
48
{
49
    using Type             = bool;
50
    using DecodableType    = bool;
51
    using DecodableArgType = bool;
52
53
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
54
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Boolean::Id; }
55
0
    static constexpr bool MustUseTimedWrite() { return false; }
56
};
57
} // namespace Boolean
58
namespace Bitmap8 {
59
struct TypeInfo
60
{
61
    using Type             = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>;
62
    using DecodableType    = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>;
63
    using DecodableArgType = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>;
64
65
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
66
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap8::Id; }
67
0
    static constexpr bool MustUseTimedWrite() { return false; }
68
};
69
} // namespace Bitmap8
70
namespace Bitmap16 {
71
struct TypeInfo
72
{
73
    using Type             = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>;
74
    using DecodableType    = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>;
75
    using DecodableArgType = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>;
76
77
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
78
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap16::Id; }
79
0
    static constexpr bool MustUseTimedWrite() { return false; }
80
};
81
} // namespace Bitmap16
82
namespace Bitmap32 {
83
struct TypeInfo
84
{
85
    using Type             = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>;
86
    using DecodableType    = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>;
87
    using DecodableArgType = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>;
88
89
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
90
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap32::Id; }
91
0
    static constexpr bool MustUseTimedWrite() { return false; }
92
};
93
} // namespace Bitmap32
94
namespace Bitmap64 {
95
struct TypeInfo
96
{
97
    using Type             = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>;
98
    using DecodableType    = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>;
99
    using DecodableArgType = chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>;
100
101
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
102
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap64::Id; }
103
0
    static constexpr bool MustUseTimedWrite() { return false; }
104
};
105
} // namespace Bitmap64
106
namespace Int8u {
107
struct TypeInfo
108
{
109
    using Type             = uint8_t;
110
    using DecodableType    = uint8_t;
111
    using DecodableArgType = uint8_t;
112
113
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
114
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int8u::Id; }
115
0
    static constexpr bool MustUseTimedWrite() { return false; }
116
};
117
} // namespace Int8u
118
namespace Int16u {
119
struct TypeInfo
120
{
121
    using Type             = uint16_t;
122
    using DecodableType    = uint16_t;
123
    using DecodableArgType = uint16_t;
124
125
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
126
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int16u::Id; }
127
0
    static constexpr bool MustUseTimedWrite() { return false; }
128
};
129
} // namespace Int16u
130
namespace Int24u {
131
struct TypeInfo
132
{
133
    using Type             = uint32_t;
134
    using DecodableType    = uint32_t;
135
    using DecodableArgType = uint32_t;
136
137
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
138
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int24u::Id; }
139
0
    static constexpr bool MustUseTimedWrite() { return false; }
140
};
141
} // namespace Int24u
142
namespace Int32u {
143
struct TypeInfo
144
{
145
    using Type             = uint32_t;
146
    using DecodableType    = uint32_t;
147
    using DecodableArgType = uint32_t;
148
149
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
150
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int32u::Id; }
151
0
    static constexpr bool MustUseTimedWrite() { return false; }
152
};
153
} // namespace Int32u
154
namespace Int40u {
155
struct TypeInfo
156
{
157
    using Type             = uint64_t;
158
    using DecodableType    = uint64_t;
159
    using DecodableArgType = uint64_t;
160
161
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
162
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int40u::Id; }
163
0
    static constexpr bool MustUseTimedWrite() { return false; }
164
};
165
} // namespace Int40u
166
namespace Int48u {
167
struct TypeInfo
168
{
169
    using Type             = uint64_t;
170
    using DecodableType    = uint64_t;
171
    using DecodableArgType = uint64_t;
172
173
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
174
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int48u::Id; }
175
0
    static constexpr bool MustUseTimedWrite() { return false; }
176
};
177
} // namespace Int48u
178
namespace Int56u {
179
struct TypeInfo
180
{
181
    using Type             = uint64_t;
182
    using DecodableType    = uint64_t;
183
    using DecodableArgType = uint64_t;
184
185
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
186
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int56u::Id; }
187
0
    static constexpr bool MustUseTimedWrite() { return false; }
188
};
189
} // namespace Int56u
190
namespace Int64u {
191
struct TypeInfo
192
{
193
    using Type             = uint64_t;
194
    using DecodableType    = uint64_t;
195
    using DecodableArgType = uint64_t;
196
197
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
198
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int64u::Id; }
199
0
    static constexpr bool MustUseTimedWrite() { return false; }
200
};
201
} // namespace Int64u
202
namespace Int8s {
203
struct TypeInfo
204
{
205
    using Type             = int8_t;
206
    using DecodableType    = int8_t;
207
    using DecodableArgType = int8_t;
208
209
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
210
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int8s::Id; }
211
0
    static constexpr bool MustUseTimedWrite() { return false; }
212
};
213
} // namespace Int8s
214
namespace Int16s {
215
struct TypeInfo
216
{
217
    using Type             = int16_t;
218
    using DecodableType    = int16_t;
219
    using DecodableArgType = int16_t;
220
221
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
222
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int16s::Id; }
223
0
    static constexpr bool MustUseTimedWrite() { return false; }
224
};
225
} // namespace Int16s
226
namespace Int24s {
227
struct TypeInfo
228
{
229
    using Type             = int32_t;
230
    using DecodableType    = int32_t;
231
    using DecodableArgType = int32_t;
232
233
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
234
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int24s::Id; }
235
0
    static constexpr bool MustUseTimedWrite() { return false; }
236
};
237
} // namespace Int24s
238
namespace Int32s {
239
struct TypeInfo
240
{
241
    using Type             = int32_t;
242
    using DecodableType    = int32_t;
243
    using DecodableArgType = int32_t;
244
245
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
246
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int32s::Id; }
247
0
    static constexpr bool MustUseTimedWrite() { return false; }
248
};
249
} // namespace Int32s
250
namespace Int40s {
251
struct TypeInfo
252
{
253
    using Type             = int64_t;
254
    using DecodableType    = int64_t;
255
    using DecodableArgType = int64_t;
256
257
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
258
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int40s::Id; }
259
0
    static constexpr bool MustUseTimedWrite() { return false; }
260
};
261
} // namespace Int40s
262
namespace Int48s {
263
struct TypeInfo
264
{
265
    using Type             = int64_t;
266
    using DecodableType    = int64_t;
267
    using DecodableArgType = int64_t;
268
269
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
270
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int48s::Id; }
271
0
    static constexpr bool MustUseTimedWrite() { return false; }
272
};
273
} // namespace Int48s
274
namespace Int56s {
275
struct TypeInfo
276
{
277
    using Type             = int64_t;
278
    using DecodableType    = int64_t;
279
    using DecodableArgType = int64_t;
280
281
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
282
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int56s::Id; }
283
0
    static constexpr bool MustUseTimedWrite() { return false; }
284
};
285
} // namespace Int56s
286
namespace Int64s {
287
struct TypeInfo
288
{
289
    using Type             = int64_t;
290
    using DecodableType    = int64_t;
291
    using DecodableArgType = int64_t;
292
293
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
294
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Int64s::Id; }
295
0
    static constexpr bool MustUseTimedWrite() { return false; }
296
};
297
} // namespace Int64s
298
namespace Enum8 {
299
struct TypeInfo
300
{
301
    using Type             = uint8_t;
302
    using DecodableType    = uint8_t;
303
    using DecodableArgType = uint8_t;
304
305
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
306
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Enum8::Id; }
307
0
    static constexpr bool MustUseTimedWrite() { return false; }
308
};
309
} // namespace Enum8
310
namespace Enum16 {
311
struct TypeInfo
312
{
313
    using Type             = uint16_t;
314
    using DecodableType    = uint16_t;
315
    using DecodableArgType = uint16_t;
316
317
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
318
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Enum16::Id; }
319
0
    static constexpr bool MustUseTimedWrite() { return false; }
320
};
321
} // namespace Enum16
322
namespace FloatSingle {
323
struct TypeInfo
324
{
325
    using Type             = float;
326
    using DecodableType    = float;
327
    using DecodableArgType = float;
328
329
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
330
0
    static constexpr AttributeId GetAttributeId() { return Attributes::FloatSingle::Id; }
331
0
    static constexpr bool MustUseTimedWrite() { return false; }
332
};
333
} // namespace FloatSingle
334
namespace FloatDouble {
335
struct TypeInfo
336
{
337
    using Type             = double;
338
    using DecodableType    = double;
339
    using DecodableArgType = double;
340
341
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
342
0
    static constexpr AttributeId GetAttributeId() { return Attributes::FloatDouble::Id; }
343
0
    static constexpr bool MustUseTimedWrite() { return false; }
344
};
345
} // namespace FloatDouble
346
namespace OctetString {
347
struct TypeInfo
348
{
349
    using Type             = chip::ByteSpan;
350
    using DecodableType    = chip::ByteSpan;
351
    using DecodableArgType = chip::ByteSpan;
352
353
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
354
0
    static constexpr AttributeId GetAttributeId() { return Attributes::OctetString::Id; }
355
0
    static constexpr bool MustUseTimedWrite() { return false; }
356
0
    static constexpr size_t MaxLength() { return 10; }
357
};
358
} // namespace OctetString
359
namespace ListInt8u {
360
struct TypeInfo
361
{
362
    using Type             = chip::app::DataModel::List<const uint8_t>;
363
    using DecodableType    = chip::app::DataModel::DecodableList<uint8_t>;
364
    using DecodableArgType = const chip::app::DataModel::DecodableList<uint8_t> &;
365
366
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
367
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ListInt8u::Id; }
368
0
    static constexpr bool MustUseTimedWrite() { return false; }
369
};
370
} // namespace ListInt8u
371
namespace ListOctetString {
372
struct TypeInfo
373
{
374
    using Type             = chip::app::DataModel::List<const chip::ByteSpan>;
375
    using DecodableType    = chip::app::DataModel::DecodableList<chip::ByteSpan>;
376
    using DecodableArgType = const chip::app::DataModel::DecodableList<chip::ByteSpan> &;
377
378
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
379
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ListOctetString::Id; }
380
0
    static constexpr bool MustUseTimedWrite() { return false; }
381
};
382
} // namespace ListOctetString
383
namespace ListStructOctetString {
384
struct TypeInfo
385
{
386
    using Type = chip::app::DataModel::List<const chip::app::Clusters::UnitTesting::Structs::TestListStructOctet::Type>;
387
    using DecodableType =
388
        chip::app::DataModel::DecodableList<chip::app::Clusters::UnitTesting::Structs::TestListStructOctet::DecodableType>;
389
    using DecodableArgType =
390
        const chip::app::DataModel::DecodableList<chip::app::Clusters::UnitTesting::Structs::TestListStructOctet::DecodableType> &;
391
392
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
393
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ListStructOctetString::Id; }
394
0
    static constexpr bool MustUseTimedWrite() { return false; }
395
};
396
} // namespace ListStructOctetString
397
namespace LongOctetString {
398
struct TypeInfo
399
{
400
    using Type             = chip::ByteSpan;
401
    using DecodableType    = chip::ByteSpan;
402
    using DecodableArgType = chip::ByteSpan;
403
404
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
405
0
    static constexpr AttributeId GetAttributeId() { return Attributes::LongOctetString::Id; }
406
0
    static constexpr bool MustUseTimedWrite() { return false; }
407
0
    static constexpr size_t MaxLength() { return 1000; }
408
};
409
} // namespace LongOctetString
410
namespace CharString {
411
struct TypeInfo
412
{
413
    using Type             = chip::CharSpan;
414
    using DecodableType    = chip::CharSpan;
415
    using DecodableArgType = chip::CharSpan;
416
417
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
418
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CharString::Id; }
419
0
    static constexpr bool MustUseTimedWrite() { return false; }
420
0
    static constexpr size_t MaxLength() { return 10; }
421
};
422
} // namespace CharString
423
namespace LongCharString {
424
struct TypeInfo
425
{
426
    using Type             = chip::CharSpan;
427
    using DecodableType    = chip::CharSpan;
428
    using DecodableArgType = chip::CharSpan;
429
430
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
431
0
    static constexpr AttributeId GetAttributeId() { return Attributes::LongCharString::Id; }
432
0
    static constexpr bool MustUseTimedWrite() { return false; }
433
0
    static constexpr size_t MaxLength() { return 1000; }
434
};
435
} // namespace LongCharString
436
namespace EpochUs {
437
struct TypeInfo
438
{
439
    using Type             = uint64_t;
440
    using DecodableType    = uint64_t;
441
    using DecodableArgType = uint64_t;
442
443
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
444
0
    static constexpr AttributeId GetAttributeId() { return Attributes::EpochUs::Id; }
445
0
    static constexpr bool MustUseTimedWrite() { return false; }
446
};
447
} // namespace EpochUs
448
namespace EpochS {
449
struct TypeInfo
450
{
451
    using Type             = uint32_t;
452
    using DecodableType    = uint32_t;
453
    using DecodableArgType = uint32_t;
454
455
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
456
0
    static constexpr AttributeId GetAttributeId() { return Attributes::EpochS::Id; }
457
0
    static constexpr bool MustUseTimedWrite() { return false; }
458
};
459
} // namespace EpochS
460
namespace VendorId {
461
struct TypeInfo
462
{
463
    using Type             = chip::VendorId;
464
    using DecodableType    = chip::VendorId;
465
    using DecodableArgType = chip::VendorId;
466
467
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
468
0
    static constexpr AttributeId GetAttributeId() { return Attributes::VendorId::Id; }
469
0
    static constexpr bool MustUseTimedWrite() { return false; }
470
};
471
} // namespace VendorId
472
namespace ListNullablesAndOptionalsStruct {
473
struct TypeInfo
474
{
475
    using Type = chip::app::DataModel::List<const chip::app::Clusters::UnitTesting::Structs::NullablesAndOptionalsStruct::Type>;
476
    using DecodableType =
477
        chip::app::DataModel::DecodableList<chip::app::Clusters::UnitTesting::Structs::NullablesAndOptionalsStruct::DecodableType>;
478
    using DecodableArgType = const chip::app::DataModel::DecodableList<
479
        chip::app::Clusters::UnitTesting::Structs::NullablesAndOptionalsStruct::DecodableType> &;
480
481
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
482
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ListNullablesAndOptionalsStruct::Id; }
483
0
    static constexpr bool MustUseTimedWrite() { return false; }
484
};
485
} // namespace ListNullablesAndOptionalsStruct
486
namespace EnumAttr {
487
struct TypeInfo
488
{
489
    using Type             = chip::app::Clusters::UnitTesting::SimpleEnum;
490
    using DecodableType    = chip::app::Clusters::UnitTesting::SimpleEnum;
491
    using DecodableArgType = chip::app::Clusters::UnitTesting::SimpleEnum;
492
493
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
494
0
    static constexpr AttributeId GetAttributeId() { return Attributes::EnumAttr::Id; }
495
0
    static constexpr bool MustUseTimedWrite() { return false; }
496
};
497
} // namespace EnumAttr
498
namespace StructAttr {
499
struct TypeInfo
500
{
501
    using Type             = chip::app::Clusters::UnitTesting::Structs::SimpleStruct::Type;
502
    using DecodableType    = chip::app::Clusters::UnitTesting::Structs::SimpleStruct::DecodableType;
503
    using DecodableArgType = const chip::app::Clusters::UnitTesting::Structs::SimpleStruct::DecodableType &;
504
505
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
506
0
    static constexpr AttributeId GetAttributeId() { return Attributes::StructAttr::Id; }
507
0
    static constexpr bool MustUseTimedWrite() { return false; }
508
};
509
} // namespace StructAttr
510
namespace RangeRestrictedInt8u {
511
struct TypeInfo
512
{
513
    using Type             = uint8_t;
514
    using DecodableType    = uint8_t;
515
    using DecodableArgType = uint8_t;
516
517
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
518
0
    static constexpr AttributeId GetAttributeId() { return Attributes::RangeRestrictedInt8u::Id; }
519
0
    static constexpr bool MustUseTimedWrite() { return false; }
520
};
521
} // namespace RangeRestrictedInt8u
522
namespace RangeRestrictedInt8s {
523
struct TypeInfo
524
{
525
    using Type             = int8_t;
526
    using DecodableType    = int8_t;
527
    using DecodableArgType = int8_t;
528
529
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
530
0
    static constexpr AttributeId GetAttributeId() { return Attributes::RangeRestrictedInt8s::Id; }
531
0
    static constexpr bool MustUseTimedWrite() { return false; }
532
};
533
} // namespace RangeRestrictedInt8s
534
namespace RangeRestrictedInt16u {
535
struct TypeInfo
536
{
537
    using Type             = uint16_t;
538
    using DecodableType    = uint16_t;
539
    using DecodableArgType = uint16_t;
540
541
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
542
0
    static constexpr AttributeId GetAttributeId() { return Attributes::RangeRestrictedInt16u::Id; }
543
0
    static constexpr bool MustUseTimedWrite() { return false; }
544
};
545
} // namespace RangeRestrictedInt16u
546
namespace RangeRestrictedInt16s {
547
struct TypeInfo
548
{
549
    using Type             = int16_t;
550
    using DecodableType    = int16_t;
551
    using DecodableArgType = int16_t;
552
553
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
554
0
    static constexpr AttributeId GetAttributeId() { return Attributes::RangeRestrictedInt16s::Id; }
555
0
    static constexpr bool MustUseTimedWrite() { return false; }
556
};
557
} // namespace RangeRestrictedInt16s
558
namespace ListLongOctetString {
559
struct TypeInfo
560
{
561
    using Type             = chip::app::DataModel::List<const chip::ByteSpan>;
562
    using DecodableType    = chip::app::DataModel::DecodableList<chip::ByteSpan>;
563
    using DecodableArgType = const chip::app::DataModel::DecodableList<chip::ByteSpan> &;
564
565
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
566
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ListLongOctetString::Id; }
567
0
    static constexpr bool MustUseTimedWrite() { return false; }
568
};
569
} // namespace ListLongOctetString
570
namespace ListFabricScoped {
571
struct TypeInfo
572
{
573
    using Type = chip::app::DataModel::List<const chip::app::Clusters::UnitTesting::Structs::TestFabricScoped::Type>;
574
    using DecodableType =
575
        chip::app::DataModel::DecodableList<chip::app::Clusters::UnitTesting::Structs::TestFabricScoped::DecodableType>;
576
    using DecodableArgType =
577
        const chip::app::DataModel::DecodableList<chip::app::Clusters::UnitTesting::Structs::TestFabricScoped::DecodableType> &;
578
579
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
580
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ListFabricScoped::Id; }
581
0
    static constexpr bool MustUseTimedWrite() { return false; }
582
};
583
} // namespace ListFabricScoped
584
namespace TimedWriteBoolean {
585
struct TypeInfo
586
{
587
    using Type             = bool;
588
    using DecodableType    = bool;
589
    using DecodableArgType = bool;
590
591
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
592
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TimedWriteBoolean::Id; }
593
0
    static constexpr bool MustUseTimedWrite() { return true; }
594
};
595
} // namespace TimedWriteBoolean
596
namespace GeneralErrorBoolean {
597
struct TypeInfo
598
{
599
    using Type             = bool;
600
    using DecodableType    = bool;
601
    using DecodableArgType = bool;
602
603
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
604
0
    static constexpr AttributeId GetAttributeId() { return Attributes::GeneralErrorBoolean::Id; }
605
0
    static constexpr bool MustUseTimedWrite() { return false; }
606
};
607
} // namespace GeneralErrorBoolean
608
namespace ClusterErrorBoolean {
609
struct TypeInfo
610
{
611
    using Type             = bool;
612
    using DecodableType    = bool;
613
    using DecodableArgType = bool;
614
615
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
616
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ClusterErrorBoolean::Id; }
617
0
    static constexpr bool MustUseTimedWrite() { return false; }
618
};
619
} // namespace ClusterErrorBoolean
620
namespace GlobalEnum {
621
struct TypeInfo
622
{
623
    using Type             = chip::app::Clusters::Globals::TestGlobalEnum;
624
    using DecodableType    = chip::app::Clusters::Globals::TestGlobalEnum;
625
    using DecodableArgType = chip::app::Clusters::Globals::TestGlobalEnum;
626
627
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
628
0
    static constexpr AttributeId GetAttributeId() { return Attributes::GlobalEnum::Id; }
629
0
    static constexpr bool MustUseTimedWrite() { return false; }
630
};
631
} // namespace GlobalEnum
632
namespace GlobalStruct {
633
struct TypeInfo
634
{
635
    using Type             = chip::app::Clusters::Globals::Structs::TestGlobalStruct::Type;
636
    using DecodableType    = chip::app::Clusters::Globals::Structs::TestGlobalStruct::DecodableType;
637
    using DecodableArgType = const chip::app::Clusters::Globals::Structs::TestGlobalStruct::DecodableType &;
638
639
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
640
0
    static constexpr AttributeId GetAttributeId() { return Attributes::GlobalStruct::Id; }
641
0
    static constexpr bool MustUseTimedWrite() { return false; }
642
};
643
} // namespace GlobalStruct
644
namespace UnsupportedAttributeRequiringAdminPrivilege {
645
struct TypeInfo
646
{
647
    using Type             = bool;
648
    using DecodableType    = bool;
649
    using DecodableArgType = bool;
650
651
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
652
0
    static constexpr AttributeId GetAttributeId() { return Attributes::UnsupportedAttributeRequiringAdminPrivilege::Id; }
653
0
    static constexpr bool MustUseTimedWrite() { return false; }
654
};
655
} // namespace UnsupportedAttributeRequiringAdminPrivilege
656
namespace Unsupported {
657
struct TypeInfo
658
{
659
    using Type             = bool;
660
    using DecodableType    = bool;
661
    using DecodableArgType = bool;
662
663
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
664
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Unsupported::Id; }
665
0
    static constexpr bool MustUseTimedWrite() { return false; }
666
};
667
} // namespace Unsupported
668
namespace ReadFailureCode {
669
struct TypeInfo
670
{
671
    using Type             = uint8_t;
672
    using DecodableType    = uint8_t;
673
    using DecodableArgType = uint8_t;
674
675
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
676
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ReadFailureCode::Id; }
677
0
    static constexpr bool MustUseTimedWrite() { return false; }
678
};
679
} // namespace ReadFailureCode
680
namespace FailureInt32U {
681
struct TypeInfo
682
{
683
    using Type             = uint32_t;
684
    using DecodableType    = uint32_t;
685
    using DecodableArgType = uint32_t;
686
687
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
688
0
    static constexpr AttributeId GetAttributeId() { return Attributes::FailureInt32U::Id; }
689
0
    static constexpr bool MustUseTimedWrite() { return false; }
690
};
691
} // namespace FailureInt32U
692
namespace NullableBoolean {
693
struct TypeInfo
694
{
695
    using Type             = chip::app::DataModel::Nullable<bool>;
696
    using DecodableType    = chip::app::DataModel::Nullable<bool>;
697
    using DecodableArgType = const chip::app::DataModel::Nullable<bool> &;
698
699
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
700
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableBoolean::Id; }
701
0
    static constexpr bool MustUseTimedWrite() { return false; }
702
};
703
} // namespace NullableBoolean
704
namespace NullableBitmap8 {
705
struct TypeInfo
706
{
707
    using Type          = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>>;
708
    using DecodableType = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>>;
709
    using DecodableArgType =
710
        const chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>> &;
711
712
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
713
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableBitmap8::Id; }
714
0
    static constexpr bool MustUseTimedWrite() { return false; }
715
};
716
} // namespace NullableBitmap8
717
namespace NullableBitmap16 {
718
struct TypeInfo
719
{
720
    using Type          = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>>;
721
    using DecodableType = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>>;
722
    using DecodableArgType =
723
        const chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>> &;
724
725
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
726
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableBitmap16::Id; }
727
0
    static constexpr bool MustUseTimedWrite() { return false; }
728
};
729
} // namespace NullableBitmap16
730
namespace NullableBitmap32 {
731
struct TypeInfo
732
{
733
    using Type          = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>>;
734
    using DecodableType = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>>;
735
    using DecodableArgType =
736
        const chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>> &;
737
738
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
739
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableBitmap32::Id; }
740
0
    static constexpr bool MustUseTimedWrite() { return false; }
741
};
742
} // namespace NullableBitmap32
743
namespace NullableBitmap64 {
744
struct TypeInfo
745
{
746
    using Type          = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>>;
747
    using DecodableType = chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>>;
748
    using DecodableArgType =
749
        const chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>> &;
750
751
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
752
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableBitmap64::Id; }
753
0
    static constexpr bool MustUseTimedWrite() { return false; }
754
};
755
} // namespace NullableBitmap64
756
namespace NullableInt8u {
757
struct TypeInfo
758
{
759
    using Type             = chip::app::DataModel::Nullable<uint8_t>;
760
    using DecodableType    = chip::app::DataModel::Nullable<uint8_t>;
761
    using DecodableArgType = const chip::app::DataModel::Nullable<uint8_t> &;
762
763
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
764
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt8u::Id; }
765
0
    static constexpr bool MustUseTimedWrite() { return false; }
766
};
767
} // namespace NullableInt8u
768
namespace NullableInt16u {
769
struct TypeInfo
770
{
771
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
772
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
773
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
774
775
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
776
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt16u::Id; }
777
0
    static constexpr bool MustUseTimedWrite() { return false; }
778
};
779
} // namespace NullableInt16u
780
namespace NullableInt24u {
781
struct TypeInfo
782
{
783
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
784
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
785
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
786
787
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
788
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt24u::Id; }
789
0
    static constexpr bool MustUseTimedWrite() { return false; }
790
};
791
} // namespace NullableInt24u
792
namespace NullableInt32u {
793
struct TypeInfo
794
{
795
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
796
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
797
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
798
799
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
800
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt32u::Id; }
801
0
    static constexpr bool MustUseTimedWrite() { return false; }
802
};
803
} // namespace NullableInt32u
804
namespace NullableInt40u {
805
struct TypeInfo
806
{
807
    using Type             = chip::app::DataModel::Nullable<uint64_t>;
808
    using DecodableType    = chip::app::DataModel::Nullable<uint64_t>;
809
    using DecodableArgType = const chip::app::DataModel::Nullable<uint64_t> &;
810
811
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
812
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt40u::Id; }
813
0
    static constexpr bool MustUseTimedWrite() { return false; }
814
};
815
} // namespace NullableInt40u
816
namespace NullableInt48u {
817
struct TypeInfo
818
{
819
    using Type             = chip::app::DataModel::Nullable<uint64_t>;
820
    using DecodableType    = chip::app::DataModel::Nullable<uint64_t>;
821
    using DecodableArgType = const chip::app::DataModel::Nullable<uint64_t> &;
822
823
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
824
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt48u::Id; }
825
0
    static constexpr bool MustUseTimedWrite() { return false; }
826
};
827
} // namespace NullableInt48u
828
namespace NullableInt56u {
829
struct TypeInfo
830
{
831
    using Type             = chip::app::DataModel::Nullable<uint64_t>;
832
    using DecodableType    = chip::app::DataModel::Nullable<uint64_t>;
833
    using DecodableArgType = const chip::app::DataModel::Nullable<uint64_t> &;
834
835
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
836
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt56u::Id; }
837
0
    static constexpr bool MustUseTimedWrite() { return false; }
838
};
839
} // namespace NullableInt56u
840
namespace NullableInt64u {
841
struct TypeInfo
842
{
843
    using Type             = chip::app::DataModel::Nullable<uint64_t>;
844
    using DecodableType    = chip::app::DataModel::Nullable<uint64_t>;
845
    using DecodableArgType = const chip::app::DataModel::Nullable<uint64_t> &;
846
847
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
848
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt64u::Id; }
849
0
    static constexpr bool MustUseTimedWrite() { return false; }
850
};
851
} // namespace NullableInt64u
852
namespace NullableInt8s {
853
struct TypeInfo
854
{
855
    using Type             = chip::app::DataModel::Nullable<int8_t>;
856
    using DecodableType    = chip::app::DataModel::Nullable<int8_t>;
857
    using DecodableArgType = const chip::app::DataModel::Nullable<int8_t> &;
858
859
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
860
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt8s::Id; }
861
0
    static constexpr bool MustUseTimedWrite() { return false; }
862
};
863
} // namespace NullableInt8s
864
namespace NullableInt16s {
865
struct TypeInfo
866
{
867
    using Type             = chip::app::DataModel::Nullable<int16_t>;
868
    using DecodableType    = chip::app::DataModel::Nullable<int16_t>;
869
    using DecodableArgType = const chip::app::DataModel::Nullable<int16_t> &;
870
871
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
872
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt16s::Id; }
873
0
    static constexpr bool MustUseTimedWrite() { return false; }
874
};
875
} // namespace NullableInt16s
876
namespace NullableInt24s {
877
struct TypeInfo
878
{
879
    using Type             = chip::app::DataModel::Nullable<int32_t>;
880
    using DecodableType    = chip::app::DataModel::Nullable<int32_t>;
881
    using DecodableArgType = const chip::app::DataModel::Nullable<int32_t> &;
882
883
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
884
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt24s::Id; }
885
0
    static constexpr bool MustUseTimedWrite() { return false; }
886
};
887
} // namespace NullableInt24s
888
namespace NullableInt32s {
889
struct TypeInfo
890
{
891
    using Type             = chip::app::DataModel::Nullable<int32_t>;
892
    using DecodableType    = chip::app::DataModel::Nullable<int32_t>;
893
    using DecodableArgType = const chip::app::DataModel::Nullable<int32_t> &;
894
895
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
896
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt32s::Id; }
897
0
    static constexpr bool MustUseTimedWrite() { return false; }
898
};
899
} // namespace NullableInt32s
900
namespace NullableInt40s {
901
struct TypeInfo
902
{
903
    using Type             = chip::app::DataModel::Nullable<int64_t>;
904
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
905
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
906
907
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
908
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt40s::Id; }
909
0
    static constexpr bool MustUseTimedWrite() { return false; }
910
};
911
} // namespace NullableInt40s
912
namespace NullableInt48s {
913
struct TypeInfo
914
{
915
    using Type             = chip::app::DataModel::Nullable<int64_t>;
916
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
917
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
918
919
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
920
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt48s::Id; }
921
0
    static constexpr bool MustUseTimedWrite() { return false; }
922
};
923
} // namespace NullableInt48s
924
namespace NullableInt56s {
925
struct TypeInfo
926
{
927
    using Type             = chip::app::DataModel::Nullable<int64_t>;
928
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
929
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
930
931
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
932
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt56s::Id; }
933
0
    static constexpr bool MustUseTimedWrite() { return false; }
934
};
935
} // namespace NullableInt56s
936
namespace NullableInt64s {
937
struct TypeInfo
938
{
939
    using Type             = chip::app::DataModel::Nullable<int64_t>;
940
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
941
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
942
943
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
944
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableInt64s::Id; }
945
0
    static constexpr bool MustUseTimedWrite() { return false; }
946
};
947
} // namespace NullableInt64s
948
namespace NullableEnum8 {
949
struct TypeInfo
950
{
951
    using Type             = chip::app::DataModel::Nullable<uint8_t>;
952
    using DecodableType    = chip::app::DataModel::Nullable<uint8_t>;
953
    using DecodableArgType = const chip::app::DataModel::Nullable<uint8_t> &;
954
955
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
956
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableEnum8::Id; }
957
0
    static constexpr bool MustUseTimedWrite() { return false; }
958
};
959
} // namespace NullableEnum8
960
namespace NullableEnum16 {
961
struct TypeInfo
962
{
963
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
964
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
965
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
966
967
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
968
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableEnum16::Id; }
969
0
    static constexpr bool MustUseTimedWrite() { return false; }
970
};
971
} // namespace NullableEnum16
972
namespace NullableFloatSingle {
973
struct TypeInfo
974
{
975
    using Type             = chip::app::DataModel::Nullable<float>;
976
    using DecodableType    = chip::app::DataModel::Nullable<float>;
977
    using DecodableArgType = const chip::app::DataModel::Nullable<float> &;
978
979
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
980
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableFloatSingle::Id; }
981
0
    static constexpr bool MustUseTimedWrite() { return false; }
982
};
983
} // namespace NullableFloatSingle
984
namespace NullableFloatDouble {
985
struct TypeInfo
986
{
987
    using Type             = chip::app::DataModel::Nullable<double>;
988
    using DecodableType    = chip::app::DataModel::Nullable<double>;
989
    using DecodableArgType = const chip::app::DataModel::Nullable<double> &;
990
991
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
992
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableFloatDouble::Id; }
993
0
    static constexpr bool MustUseTimedWrite() { return false; }
994
};
995
} // namespace NullableFloatDouble
996
namespace NullableOctetString {
997
struct TypeInfo
998
{
999
    using Type             = chip::app::DataModel::Nullable<chip::ByteSpan>;
1000
    using DecodableType    = chip::app::DataModel::Nullable<chip::ByteSpan>;
1001
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::ByteSpan> &;
1002
1003
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1004
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableOctetString::Id; }
1005
0
    static constexpr bool MustUseTimedWrite() { return false; }
1006
0
    static constexpr size_t MaxLength() { return 10; }
1007
};
1008
} // namespace NullableOctetString
1009
namespace NullableCharString {
1010
struct TypeInfo
1011
{
1012
    using Type             = chip::app::DataModel::Nullable<chip::CharSpan>;
1013
    using DecodableType    = chip::app::DataModel::Nullable<chip::CharSpan>;
1014
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::CharSpan> &;
1015
1016
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1017
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableCharString::Id; }
1018
0
    static constexpr bool MustUseTimedWrite() { return false; }
1019
0
    static constexpr size_t MaxLength() { return 10; }
1020
};
1021
} // namespace NullableCharString
1022
namespace NullableEnumAttr {
1023
struct TypeInfo
1024
{
1025
    using Type             = chip::app::DataModel::Nullable<chip::app::Clusters::UnitTesting::SimpleEnum>;
1026
    using DecodableType    = chip::app::DataModel::Nullable<chip::app::Clusters::UnitTesting::SimpleEnum>;
1027
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::Clusters::UnitTesting::SimpleEnum> &;
1028
1029
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1030
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableEnumAttr::Id; }
1031
0
    static constexpr bool MustUseTimedWrite() { return false; }
1032
};
1033
} // namespace NullableEnumAttr
1034
namespace NullableStruct {
1035
struct TypeInfo
1036
{
1037
    using Type          = chip::app::DataModel::Nullable<chip::app::Clusters::UnitTesting::Structs::SimpleStruct::Type>;
1038
    using DecodableType = chip::app::DataModel::Nullable<chip::app::Clusters::UnitTesting::Structs::SimpleStruct::DecodableType>;
1039
    using DecodableArgType =
1040
        const chip::app::DataModel::Nullable<chip::app::Clusters::UnitTesting::Structs::SimpleStruct::DecodableType> &;
1041
1042
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1043
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableStruct::Id; }
1044
0
    static constexpr bool MustUseTimedWrite() { return false; }
1045
};
1046
} // namespace NullableStruct
1047
namespace NullableRangeRestrictedInt8u {
1048
struct TypeInfo
1049
{
1050
    using Type             = chip::app::DataModel::Nullable<uint8_t>;
1051
    using DecodableType    = chip::app::DataModel::Nullable<uint8_t>;
1052
    using DecodableArgType = const chip::app::DataModel::Nullable<uint8_t> &;
1053
1054
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1055
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableRangeRestrictedInt8u::Id; }
1056
0
    static constexpr bool MustUseTimedWrite() { return false; }
1057
};
1058
} // namespace NullableRangeRestrictedInt8u
1059
namespace NullableRangeRestrictedInt8s {
1060
struct TypeInfo
1061
{
1062
    using Type             = chip::app::DataModel::Nullable<int8_t>;
1063
    using DecodableType    = chip::app::DataModel::Nullable<int8_t>;
1064
    using DecodableArgType = const chip::app::DataModel::Nullable<int8_t> &;
1065
1066
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1067
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableRangeRestrictedInt8s::Id; }
1068
0
    static constexpr bool MustUseTimedWrite() { return false; }
1069
};
1070
} // namespace NullableRangeRestrictedInt8s
1071
namespace NullableRangeRestrictedInt16u {
1072
struct TypeInfo
1073
{
1074
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
1075
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
1076
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
1077
1078
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1079
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableRangeRestrictedInt16u::Id; }
1080
0
    static constexpr bool MustUseTimedWrite() { return false; }
1081
};
1082
} // namespace NullableRangeRestrictedInt16u
1083
namespace NullableRangeRestrictedInt16s {
1084
struct TypeInfo
1085
{
1086
    using Type             = chip::app::DataModel::Nullable<int16_t>;
1087
    using DecodableType    = chip::app::DataModel::Nullable<int16_t>;
1088
    using DecodableArgType = const chip::app::DataModel::Nullable<int16_t> &;
1089
1090
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1091
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableRangeRestrictedInt16s::Id; }
1092
0
    static constexpr bool MustUseTimedWrite() { return false; }
1093
};
1094
} // namespace NullableRangeRestrictedInt16s
1095
namespace WriteOnlyInt8u {
1096
struct TypeInfo
1097
{
1098
    using Type             = uint8_t;
1099
    using DecodableType    = uint8_t;
1100
    using DecodableArgType = uint8_t;
1101
1102
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1103
0
    static constexpr AttributeId GetAttributeId() { return Attributes::WriteOnlyInt8u::Id; }
1104
0
    static constexpr bool MustUseTimedWrite() { return false; }
1105
};
1106
} // namespace WriteOnlyInt8u
1107
namespace NullableGlobalEnum {
1108
struct TypeInfo
1109
{
1110
    using Type             = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TestGlobalEnum>;
1111
    using DecodableType    = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TestGlobalEnum>;
1112
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::Clusters::Globals::TestGlobalEnum> &;
1113
1114
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1115
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableGlobalEnum::Id; }
1116
0
    static constexpr bool MustUseTimedWrite() { return false; }
1117
};
1118
} // namespace NullableGlobalEnum
1119
namespace NullableGlobalStruct {
1120
struct TypeInfo
1121
{
1122
    using Type          = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::Structs::TestGlobalStruct::Type>;
1123
    using DecodableType = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::Structs::TestGlobalStruct::DecodableType>;
1124
    using DecodableArgType =
1125
        const chip::app::DataModel::Nullable<chip::app::Clusters::Globals::Structs::TestGlobalStruct::DecodableType> &;
1126
1127
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1128
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NullableGlobalStruct::Id; }
1129
0
    static constexpr bool MustUseTimedWrite() { return false; }
1130
};
1131
} // namespace NullableGlobalStruct
1132
namespace GeneratedCommandList {
1133
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
1134
{
1135
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1136
};
1137
} // namespace GeneratedCommandList
1138
namespace AcceptedCommandList {
1139
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
1140
{
1141
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1142
};
1143
} // namespace AcceptedCommandList
1144
namespace AttributeList {
1145
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
1146
{
1147
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1148
};
1149
} // namespace AttributeList
1150
namespace FeatureMap {
1151
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
1152
{
1153
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1154
};
1155
} // namespace FeatureMap
1156
namespace ClusterRevision {
1157
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
1158
{
1159
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1160
};
1161
} // namespace ClusterRevision
1162
namespace MeiInt8u {
1163
struct TypeInfo
1164
{
1165
    using Type             = uint8_t;
1166
    using DecodableType    = uint8_t;
1167
    using DecodableArgType = uint8_t;
1168
1169
0
    static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1170
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MeiInt8u::Id; }
1171
0
    static constexpr bool MustUseTimedWrite() { return false; }
1172
};
1173
} // namespace MeiInt8u
1174
1175
struct TypeInfo
1176
{
1177
    struct DecodableType
1178
    {
1179
0
        static constexpr ClusterId GetClusterId() { return Clusters::UnitTesting::Id; }
1180
1181
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
1182
1183
        Attributes::Boolean::TypeInfo::DecodableType boolean = static_cast<bool>(0);
1184
        Attributes::Bitmap8::TypeInfo::DecodableType bitmap8 =
1185
            static_cast<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap8MaskMap>>(0);
1186
        Attributes::Bitmap16::TypeInfo::DecodableType bitmap16 =
1187
            static_cast<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap16MaskMap>>(0);
1188
        Attributes::Bitmap32::TypeInfo::DecodableType bitmap32 =
1189
            static_cast<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap32MaskMap>>(0);
1190
        Attributes::Bitmap64::TypeInfo::DecodableType bitmap64 =
1191
            static_cast<chip::BitMask<chip::app::Clusters::UnitTesting::Bitmap64MaskMap>>(0);
1192
        Attributes::Int8u::TypeInfo::DecodableType int8u             = static_cast<uint8_t>(0);
1193
        Attributes::Int16u::TypeInfo::DecodableType int16u           = static_cast<uint16_t>(0);
1194
        Attributes::Int24u::TypeInfo::DecodableType int24u           = static_cast<uint32_t>(0);
1195
        Attributes::Int32u::TypeInfo::DecodableType int32u           = static_cast<uint32_t>(0);
1196
        Attributes::Int40u::TypeInfo::DecodableType int40u           = static_cast<uint64_t>(0);
1197
        Attributes::Int48u::TypeInfo::DecodableType int48u           = static_cast<uint64_t>(0);
1198
        Attributes::Int56u::TypeInfo::DecodableType int56u           = static_cast<uint64_t>(0);
1199
        Attributes::Int64u::TypeInfo::DecodableType int64u           = static_cast<uint64_t>(0);
1200
        Attributes::Int8s::TypeInfo::DecodableType int8s             = static_cast<int8_t>(0);
1201
        Attributes::Int16s::TypeInfo::DecodableType int16s           = static_cast<int16_t>(0);
1202
        Attributes::Int24s::TypeInfo::DecodableType int24s           = static_cast<int32_t>(0);
1203
        Attributes::Int32s::TypeInfo::DecodableType int32s           = static_cast<int32_t>(0);
1204
        Attributes::Int40s::TypeInfo::DecodableType int40s           = static_cast<int64_t>(0);
1205
        Attributes::Int48s::TypeInfo::DecodableType int48s           = static_cast<int64_t>(0);
1206
        Attributes::Int56s::TypeInfo::DecodableType int56s           = static_cast<int64_t>(0);
1207
        Attributes::Int64s::TypeInfo::DecodableType int64s           = static_cast<int64_t>(0);
1208
        Attributes::Enum8::TypeInfo::DecodableType enum8             = static_cast<uint8_t>(0);
1209
        Attributes::Enum16::TypeInfo::DecodableType enum16           = static_cast<uint16_t>(0);
1210
        Attributes::FloatSingle::TypeInfo::DecodableType floatSingle = static_cast<float>(0);
1211
        Attributes::FloatDouble::TypeInfo::DecodableType floatDouble = static_cast<double>(0);
1212
        Attributes::OctetString::TypeInfo::DecodableType octetString;
1213
        Attributes::ListInt8u::TypeInfo::DecodableType listInt8u;
1214
        Attributes::ListOctetString::TypeInfo::DecodableType listOctetString;
1215
        Attributes::ListStructOctetString::TypeInfo::DecodableType listStructOctetString;
1216
        Attributes::LongOctetString::TypeInfo::DecodableType longOctetString;
1217
        Attributes::CharString::TypeInfo::DecodableType charString;
1218
        Attributes::LongCharString::TypeInfo::DecodableType longCharString;
1219
        Attributes::EpochUs::TypeInfo::DecodableType epochUs   = static_cast<uint64_t>(0);
1220
        Attributes::EpochS::TypeInfo::DecodableType epochS     = static_cast<uint32_t>(0);
1221
        Attributes::VendorId::TypeInfo::DecodableType vendorId = static_cast<chip::VendorId>(0);
1222
        Attributes::ListNullablesAndOptionalsStruct::TypeInfo::DecodableType listNullablesAndOptionalsStruct;
1223
        Attributes::EnumAttr::TypeInfo::DecodableType enumAttr = static_cast<chip::app::Clusters::UnitTesting::SimpleEnum>(0);
1224
        Attributes::StructAttr::TypeInfo::DecodableType structAttr;
1225
        Attributes::RangeRestrictedInt8u::TypeInfo::DecodableType rangeRestrictedInt8u   = static_cast<uint8_t>(0);
1226
        Attributes::RangeRestrictedInt8s::TypeInfo::DecodableType rangeRestrictedInt8s   = static_cast<int8_t>(0);
1227
        Attributes::RangeRestrictedInt16u::TypeInfo::DecodableType rangeRestrictedInt16u = static_cast<uint16_t>(0);
1228
        Attributes::RangeRestrictedInt16s::TypeInfo::DecodableType rangeRestrictedInt16s = static_cast<int16_t>(0);
1229
        Attributes::ListLongOctetString::TypeInfo::DecodableType listLongOctetString;
1230
        Attributes::ListFabricScoped::TypeInfo::DecodableType listFabricScoped;
1231
        Attributes::TimedWriteBoolean::TypeInfo::DecodableType timedWriteBoolean     = static_cast<bool>(0);
1232
        Attributes::GeneralErrorBoolean::TypeInfo::DecodableType generalErrorBoolean = static_cast<bool>(0);
1233
        Attributes::ClusterErrorBoolean::TypeInfo::DecodableType clusterErrorBoolean = static_cast<bool>(0);
1234
        Attributes::GlobalEnum::TypeInfo::DecodableType globalEnum = static_cast<chip::app::Clusters::Globals::TestGlobalEnum>(0);
1235
        Attributes::GlobalStruct::TypeInfo::DecodableType globalStruct;
1236
        Attributes::UnsupportedAttributeRequiringAdminPrivilege::TypeInfo::DecodableType
1237
            unsupportedAttributeRequiringAdminPrivilege                      = static_cast<bool>(0);
1238
        Attributes::Unsupported::TypeInfo::DecodableType unsupported         = static_cast<bool>(0);
1239
        Attributes::ReadFailureCode::TypeInfo::DecodableType readFailureCode = static_cast<uint8_t>(0);
1240
        Attributes::FailureInt32U::TypeInfo::DecodableType failureInt32U     = static_cast<uint32_t>(0);
1241
        Attributes::NullableBoolean::TypeInfo::DecodableType nullableBoolean;
1242
        Attributes::NullableBitmap8::TypeInfo::DecodableType nullableBitmap8;
1243
        Attributes::NullableBitmap16::TypeInfo::DecodableType nullableBitmap16;
1244
        Attributes::NullableBitmap32::TypeInfo::DecodableType nullableBitmap32;
1245
        Attributes::NullableBitmap64::TypeInfo::DecodableType nullableBitmap64;
1246
        Attributes::NullableInt8u::TypeInfo::DecodableType nullableInt8u;
1247
        Attributes::NullableInt16u::TypeInfo::DecodableType nullableInt16u;
1248
        Attributes::NullableInt24u::TypeInfo::DecodableType nullableInt24u;
1249
        Attributes::NullableInt32u::TypeInfo::DecodableType nullableInt32u;
1250
        Attributes::NullableInt40u::TypeInfo::DecodableType nullableInt40u;
1251
        Attributes::NullableInt48u::TypeInfo::DecodableType nullableInt48u;
1252
        Attributes::NullableInt56u::TypeInfo::DecodableType nullableInt56u;
1253
        Attributes::NullableInt64u::TypeInfo::DecodableType nullableInt64u;
1254
        Attributes::NullableInt8s::TypeInfo::DecodableType nullableInt8s;
1255
        Attributes::NullableInt16s::TypeInfo::DecodableType nullableInt16s;
1256
        Attributes::NullableInt24s::TypeInfo::DecodableType nullableInt24s;
1257
        Attributes::NullableInt32s::TypeInfo::DecodableType nullableInt32s;
1258
        Attributes::NullableInt40s::TypeInfo::DecodableType nullableInt40s;
1259
        Attributes::NullableInt48s::TypeInfo::DecodableType nullableInt48s;
1260
        Attributes::NullableInt56s::TypeInfo::DecodableType nullableInt56s;
1261
        Attributes::NullableInt64s::TypeInfo::DecodableType nullableInt64s;
1262
        Attributes::NullableEnum8::TypeInfo::DecodableType nullableEnum8;
1263
        Attributes::NullableEnum16::TypeInfo::DecodableType nullableEnum16;
1264
        Attributes::NullableFloatSingle::TypeInfo::DecodableType nullableFloatSingle;
1265
        Attributes::NullableFloatDouble::TypeInfo::DecodableType nullableFloatDouble;
1266
        Attributes::NullableOctetString::TypeInfo::DecodableType nullableOctetString;
1267
        Attributes::NullableCharString::TypeInfo::DecodableType nullableCharString;
1268
        Attributes::NullableEnumAttr::TypeInfo::DecodableType nullableEnumAttr;
1269
        Attributes::NullableStruct::TypeInfo::DecodableType nullableStruct;
1270
        Attributes::NullableRangeRestrictedInt8u::TypeInfo::DecodableType nullableRangeRestrictedInt8u;
1271
        Attributes::NullableRangeRestrictedInt8s::TypeInfo::DecodableType nullableRangeRestrictedInt8s;
1272
        Attributes::NullableRangeRestrictedInt16u::TypeInfo::DecodableType nullableRangeRestrictedInt16u;
1273
        Attributes::NullableRangeRestrictedInt16s::TypeInfo::DecodableType nullableRangeRestrictedInt16s;
1274
        Attributes::WriteOnlyInt8u::TypeInfo::DecodableType writeOnlyInt8u = static_cast<uint8_t>(0);
1275
        Attributes::NullableGlobalEnum::TypeInfo::DecodableType nullableGlobalEnum;
1276
        Attributes::NullableGlobalStruct::TypeInfo::DecodableType nullableGlobalStruct;
1277
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
1278
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
1279
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
1280
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
1281
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
1282
        Attributes::MeiInt8u::TypeInfo::DecodableType meiInt8u               = static_cast<uint8_t>(0);
1283
    };
1284
};
1285
} // namespace Attributes
1286
} // namespace UnitTesting
1287
} // namespace Clusters
1288
} // namespace app
1289
} // namespace chip