Coverage Report

Created: 2026-03-27 06:51

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/connectedhomeip/zzz_generated/app-common/clusters/WindowCovering/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/WindowCovering/AttributeIds.h>
36
#include <clusters/WindowCovering/ClusterId.h>
37
#include <clusters/WindowCovering/Enums.h>
38
#include <clusters/WindowCovering/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace WindowCovering {
44
namespace Attributes {
45
46
namespace Type {
47
struct TypeInfo
48
{
49
    using Type             = chip::app::Clusters::WindowCovering::Type;
50
    using DecodableType    = chip::app::Clusters::WindowCovering::Type;
51
    using DecodableArgType = chip::app::Clusters::WindowCovering::Type;
52
53
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
54
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Type::Id; }
55
0
    static constexpr bool MustUseTimedWrite() { return false; }
56
};
57
} // namespace Type
58
namespace PhysicalClosedLimitLift {
59
struct TypeInfo
60
{
61
    using Type             = uint16_t;
62
    using DecodableType    = uint16_t;
63
    using DecodableArgType = uint16_t;
64
65
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
66
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitLift::Id; }
67
0
    static constexpr bool MustUseTimedWrite() { return false; }
68
};
69
} // namespace PhysicalClosedLimitLift
70
namespace PhysicalClosedLimitTilt {
71
struct TypeInfo
72
{
73
    using Type             = uint16_t;
74
    using DecodableType    = uint16_t;
75
    using DecodableArgType = uint16_t;
76
77
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
78
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitTilt::Id; }
79
0
    static constexpr bool MustUseTimedWrite() { return false; }
80
};
81
} // namespace PhysicalClosedLimitTilt
82
namespace CurrentPositionLift {
83
struct TypeInfo
84
{
85
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
86
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
87
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
88
89
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
90
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLift::Id; }
91
0
    static constexpr bool MustUseTimedWrite() { return false; }
92
};
93
} // namespace CurrentPositionLift
94
namespace CurrentPositionTilt {
95
struct TypeInfo
96
{
97
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
98
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
99
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
100
101
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
102
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTilt::Id; }
103
0
    static constexpr bool MustUseTimedWrite() { return false; }
104
};
105
} // namespace CurrentPositionTilt
106
namespace NumberOfActuationsLift {
107
struct TypeInfo
108
{
109
    using Type             = uint16_t;
110
    using DecodableType    = uint16_t;
111
    using DecodableArgType = uint16_t;
112
113
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
114
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsLift::Id; }
115
0
    static constexpr bool MustUseTimedWrite() { return false; }
116
};
117
} // namespace NumberOfActuationsLift
118
namespace NumberOfActuationsTilt {
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::WindowCovering::Id; }
126
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsTilt::Id; }
127
0
    static constexpr bool MustUseTimedWrite() { return false; }
128
};
129
} // namespace NumberOfActuationsTilt
130
namespace ConfigStatus {
131
struct TypeInfo
132
{
133
    using Type             = chip::BitMask<chip::app::Clusters::WindowCovering::ConfigStatus>;
134
    using DecodableType    = chip::BitMask<chip::app::Clusters::WindowCovering::ConfigStatus>;
135
    using DecodableArgType = chip::BitMask<chip::app::Clusters::WindowCovering::ConfigStatus>;
136
137
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
138
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ConfigStatus::Id; }
139
0
    static constexpr bool MustUseTimedWrite() { return false; }
140
};
141
} // namespace ConfigStatus
142
namespace CurrentPositionLiftPercentage {
143
struct TypeInfo
144
{
145
    using Type             = chip::app::DataModel::Nullable<chip::Percent>;
146
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent>;
147
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent> &;
148
149
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
150
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercentage::Id; }
151
0
    static constexpr bool MustUseTimedWrite() { return false; }
152
};
153
} // namespace CurrentPositionLiftPercentage
154
namespace CurrentPositionTiltPercentage {
155
struct TypeInfo
156
{
157
    using Type             = chip::app::DataModel::Nullable<chip::Percent>;
158
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent>;
159
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent> &;
160
161
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
162
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercentage::Id; }
163
0
    static constexpr bool MustUseTimedWrite() { return false; }
164
};
165
} // namespace CurrentPositionTiltPercentage
166
namespace OperationalStatus {
167
struct TypeInfo
168
{
169
    using Type             = chip::BitMask<chip::app::Clusters::WindowCovering::OperationalStatus>;
170
    using DecodableType    = chip::BitMask<chip::app::Clusters::WindowCovering::OperationalStatus>;
171
    using DecodableArgType = chip::BitMask<chip::app::Clusters::WindowCovering::OperationalStatus>;
172
173
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
174
0
    static constexpr AttributeId GetAttributeId() { return Attributes::OperationalStatus::Id; }
175
0
    static constexpr bool MustUseTimedWrite() { return false; }
176
};
177
} // namespace OperationalStatus
178
namespace TargetPositionLiftPercent100ths {
179
struct TypeInfo
180
{
181
    using Type             = chip::app::DataModel::Nullable<chip::Percent100ths>;
182
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent100ths>;
183
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent100ths> &;
184
185
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
186
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionLiftPercent100ths::Id; }
187
0
    static constexpr bool MustUseTimedWrite() { return false; }
188
};
189
} // namespace TargetPositionLiftPercent100ths
190
namespace TargetPositionTiltPercent100ths {
191
struct TypeInfo
192
{
193
    using Type             = chip::app::DataModel::Nullable<chip::Percent100ths>;
194
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent100ths>;
195
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent100ths> &;
196
197
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
198
0
    static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionTiltPercent100ths::Id; }
199
0
    static constexpr bool MustUseTimedWrite() { return false; }
200
};
201
} // namespace TargetPositionTiltPercent100ths
202
namespace EndProductType {
203
struct TypeInfo
204
{
205
    using Type             = chip::app::Clusters::WindowCovering::EndProductType;
206
    using DecodableType    = chip::app::Clusters::WindowCovering::EndProductType;
207
    using DecodableArgType = chip::app::Clusters::WindowCovering::EndProductType;
208
209
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
210
0
    static constexpr AttributeId GetAttributeId() { return Attributes::EndProductType::Id; }
211
0
    static constexpr bool MustUseTimedWrite() { return false; }
212
};
213
} // namespace EndProductType
214
namespace CurrentPositionLiftPercent100ths {
215
struct TypeInfo
216
{
217
    using Type             = chip::app::DataModel::Nullable<chip::Percent100ths>;
218
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent100ths>;
219
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent100ths> &;
220
221
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
222
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercent100ths::Id; }
223
0
    static constexpr bool MustUseTimedWrite() { return false; }
224
};
225
} // namespace CurrentPositionLiftPercent100ths
226
namespace CurrentPositionTiltPercent100ths {
227
struct TypeInfo
228
{
229
    using Type             = chip::app::DataModel::Nullable<chip::Percent100ths>;
230
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent100ths>;
231
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent100ths> &;
232
233
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
234
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercent100ths::Id; }
235
0
    static constexpr bool MustUseTimedWrite() { return false; }
236
};
237
} // namespace CurrentPositionTiltPercent100ths
238
namespace InstalledOpenLimitLift {
239
struct TypeInfo
240
{
241
    using Type             = uint16_t;
242
    using DecodableType    = uint16_t;
243
    using DecodableArgType = uint16_t;
244
245
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
246
0
    static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitLift::Id; }
247
0
    static constexpr bool MustUseTimedWrite() { return false; }
248
};
249
} // namespace InstalledOpenLimitLift
250
namespace InstalledClosedLimitLift {
251
struct TypeInfo
252
{
253
    using Type             = uint16_t;
254
    using DecodableType    = uint16_t;
255
    using DecodableArgType = uint16_t;
256
257
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
258
0
    static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitLift::Id; }
259
0
    static constexpr bool MustUseTimedWrite() { return false; }
260
};
261
} // namespace InstalledClosedLimitLift
262
namespace InstalledOpenLimitTilt {
263
struct TypeInfo
264
{
265
    using Type             = uint16_t;
266
    using DecodableType    = uint16_t;
267
    using DecodableArgType = uint16_t;
268
269
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
270
0
    static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitTilt::Id; }
271
0
    static constexpr bool MustUseTimedWrite() { return false; }
272
};
273
} // namespace InstalledOpenLimitTilt
274
namespace InstalledClosedLimitTilt {
275
struct TypeInfo
276
{
277
    using Type             = uint16_t;
278
    using DecodableType    = uint16_t;
279
    using DecodableArgType = uint16_t;
280
281
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
282
0
    static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitTilt::Id; }
283
0
    static constexpr bool MustUseTimedWrite() { return false; }
284
};
285
} // namespace InstalledClosedLimitTilt
286
namespace Mode {
287
struct TypeInfo
288
{
289
    using Type             = chip::BitMask<chip::app::Clusters::WindowCovering::Mode>;
290
    using DecodableType    = chip::BitMask<chip::app::Clusters::WindowCovering::Mode>;
291
    using DecodableArgType = chip::BitMask<chip::app::Clusters::WindowCovering::Mode>;
292
293
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
294
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Mode::Id; }
295
0
    static constexpr bool MustUseTimedWrite() { return false; }
296
};
297
} // namespace Mode
298
namespace SafetyStatus {
299
struct TypeInfo
300
{
301
    using Type             = chip::BitMask<chip::app::Clusters::WindowCovering::SafetyStatus>;
302
    using DecodableType    = chip::BitMask<chip::app::Clusters::WindowCovering::SafetyStatus>;
303
    using DecodableArgType = chip::BitMask<chip::app::Clusters::WindowCovering::SafetyStatus>;
304
305
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
306
0
    static constexpr AttributeId GetAttributeId() { return Attributes::SafetyStatus::Id; }
307
0
    static constexpr bool MustUseTimedWrite() { return false; }
308
};
309
} // namespace SafetyStatus
310
namespace GeneratedCommandList {
311
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
312
{
313
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
314
};
315
} // namespace GeneratedCommandList
316
namespace AcceptedCommandList {
317
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
318
{
319
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
320
};
321
} // namespace AcceptedCommandList
322
namespace AttributeList {
323
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
324
{
325
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
326
};
327
} // namespace AttributeList
328
namespace FeatureMap {
329
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
330
{
331
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
332
};
333
} // namespace FeatureMap
334
namespace ClusterRevision {
335
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
336
{
337
0
    static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
338
};
339
} // namespace ClusterRevision
340
341
struct TypeInfo
342
{
343
    struct DecodableType
344
    {
345
0
        static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; }
346
347
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
348
349
        Attributes::Type::TypeInfo::DecodableType type = static_cast<chip::app::Clusters::WindowCovering::Type>(0);
350
        Attributes::PhysicalClosedLimitLift::TypeInfo::DecodableType physicalClosedLimitLift = static_cast<uint16_t>(0);
351
        Attributes::PhysicalClosedLimitTilt::TypeInfo::DecodableType physicalClosedLimitTilt = static_cast<uint16_t>(0);
352
        Attributes::CurrentPositionLift::TypeInfo::DecodableType currentPositionLift;
353
        Attributes::CurrentPositionTilt::TypeInfo::DecodableType currentPositionTilt;
354
        Attributes::NumberOfActuationsLift::TypeInfo::DecodableType numberOfActuationsLift = static_cast<uint16_t>(0);
355
        Attributes::NumberOfActuationsTilt::TypeInfo::DecodableType numberOfActuationsTilt = static_cast<uint16_t>(0);
356
        Attributes::ConfigStatus::TypeInfo::DecodableType configStatus =
357
            static_cast<chip::BitMask<chip::app::Clusters::WindowCovering::ConfigStatus>>(0);
358
        Attributes::CurrentPositionLiftPercentage::TypeInfo::DecodableType currentPositionLiftPercentage;
359
        Attributes::CurrentPositionTiltPercentage::TypeInfo::DecodableType currentPositionTiltPercentage;
360
        Attributes::OperationalStatus::TypeInfo::DecodableType operationalStatus =
361
            static_cast<chip::BitMask<chip::app::Clusters::WindowCovering::OperationalStatus>>(0);
362
        Attributes::TargetPositionLiftPercent100ths::TypeInfo::DecodableType targetPositionLiftPercent100ths;
363
        Attributes::TargetPositionTiltPercent100ths::TypeInfo::DecodableType targetPositionTiltPercent100ths;
364
        Attributes::EndProductType::TypeInfo::DecodableType endProductType =
365
            static_cast<chip::app::Clusters::WindowCovering::EndProductType>(0);
366
        Attributes::CurrentPositionLiftPercent100ths::TypeInfo::DecodableType currentPositionLiftPercent100ths;
367
        Attributes::CurrentPositionTiltPercent100ths::TypeInfo::DecodableType currentPositionTiltPercent100ths;
368
        Attributes::InstalledOpenLimitLift::TypeInfo::DecodableType installedOpenLimitLift     = static_cast<uint16_t>(0);
369
        Attributes::InstalledClosedLimitLift::TypeInfo::DecodableType installedClosedLimitLift = static_cast<uint16_t>(0);
370
        Attributes::InstalledOpenLimitTilt::TypeInfo::DecodableType installedOpenLimitTilt     = static_cast<uint16_t>(0);
371
        Attributes::InstalledClosedLimitTilt::TypeInfo::DecodableType installedClosedLimitTilt = static_cast<uint16_t>(0);
372
        Attributes::Mode::TypeInfo::DecodableType mode = static_cast<chip::BitMask<chip::app::Clusters::WindowCovering::Mode>>(0);
373
        Attributes::SafetyStatus::TypeInfo::DecodableType safetyStatus =
374
            static_cast<chip::BitMask<chip::app::Clusters::WindowCovering::SafetyStatus>>(0);
375
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
376
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
377
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
378
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
379
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
380
    };
381
};
382
} // namespace Attributes
383
} // namespace WindowCovering
384
} // namespace Clusters
385
} // namespace app
386
} // namespace chip