Coverage Report

Created: 2025-06-20 06:55

/src/connectedhomeip/zzz_generated/app-common/clusters/OccupancySensing/Attributes.h
Line
Count
Source (jump to first uncovered line)
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/OccupancySensing/AttributeIds.h>
36
#include <clusters/OccupancySensing/ClusterId.h>
37
#include <clusters/OccupancySensing/Enums.h>
38
#include <clusters/OccupancySensing/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace OccupancySensing {
44
namespace Attributes {
45
46
namespace Occupancy {
47
struct TypeInfo
48
{
49
    using Type             = chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancyBitmap>;
50
    using DecodableType    = chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancyBitmap>;
51
    using DecodableArgType = chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancyBitmap>;
52
53
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
54
0
    static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; }
55
0
    static constexpr bool MustUseTimedWrite() { return false; }
56
};
57
} // namespace Occupancy
58
namespace OccupancySensorType {
59
struct TypeInfo
60
{
61
    using Type             = chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum;
62
    using DecodableType    = chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum;
63
    using DecodableArgType = chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum;
64
65
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
66
0
    static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorType::Id; }
67
0
    static constexpr bool MustUseTimedWrite() { return false; }
68
};
69
} // namespace OccupancySensorType
70
namespace OccupancySensorTypeBitmap {
71
struct TypeInfo
72
{
73
    using Type             = chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancySensorTypeBitmap>;
74
    using DecodableType    = chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancySensorTypeBitmap>;
75
    using DecodableArgType = chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancySensorTypeBitmap>;
76
77
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
78
0
    static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorTypeBitmap::Id; }
79
0
    static constexpr bool MustUseTimedWrite() { return false; }
80
};
81
} // namespace OccupancySensorTypeBitmap
82
namespace HoldTime {
83
struct TypeInfo
84
{
85
    using Type             = uint16_t;
86
    using DecodableType    = uint16_t;
87
    using DecodableArgType = uint16_t;
88
89
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
90
0
    static constexpr AttributeId GetAttributeId() { return Attributes::HoldTime::Id; }
91
0
    static constexpr bool MustUseTimedWrite() { return false; }
92
};
93
} // namespace HoldTime
94
namespace HoldTimeLimits {
95
struct TypeInfo
96
{
97
    using Type             = chip::app::Clusters::OccupancySensing::Structs::HoldTimeLimitsStruct::Type;
98
    using DecodableType    = chip::app::Clusters::OccupancySensing::Structs::HoldTimeLimitsStruct::DecodableType;
99
    using DecodableArgType = const chip::app::Clusters::OccupancySensing::Structs::HoldTimeLimitsStruct::DecodableType &;
100
101
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
102
0
    static constexpr AttributeId GetAttributeId() { return Attributes::HoldTimeLimits::Id; }
103
0
    static constexpr bool MustUseTimedWrite() { return false; }
104
};
105
} // namespace HoldTimeLimits
106
namespace PIROccupiedToUnoccupiedDelay {
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::OccupancySensing::Id; }
114
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PIROccupiedToUnoccupiedDelay::Id; }
115
0
    static constexpr bool MustUseTimedWrite() { return false; }
116
};
117
} // namespace PIROccupiedToUnoccupiedDelay
118
namespace PIRUnoccupiedToOccupiedDelay {
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::OccupancySensing::Id; }
126
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PIRUnoccupiedToOccupiedDelay::Id; }
127
0
    static constexpr bool MustUseTimedWrite() { return false; }
128
};
129
} // namespace PIRUnoccupiedToOccupiedDelay
130
namespace PIRUnoccupiedToOccupiedThreshold {
131
struct TypeInfo
132
{
133
    using Type             = uint8_t;
134
    using DecodableType    = uint8_t;
135
    using DecodableArgType = uint8_t;
136
137
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
138
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PIRUnoccupiedToOccupiedThreshold::Id; }
139
0
    static constexpr bool MustUseTimedWrite() { return false; }
140
};
141
} // namespace PIRUnoccupiedToOccupiedThreshold
142
namespace UltrasonicOccupiedToUnoccupiedDelay {
143
struct TypeInfo
144
{
145
    using Type             = uint16_t;
146
    using DecodableType    = uint16_t;
147
    using DecodableArgType = uint16_t;
148
149
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
150
0
    static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id; }
151
0
    static constexpr bool MustUseTimedWrite() { return false; }
152
};
153
} // namespace UltrasonicOccupiedToUnoccupiedDelay
154
namespace UltrasonicUnoccupiedToOccupiedDelay {
155
struct TypeInfo
156
{
157
    using Type             = uint16_t;
158
    using DecodableType    = uint16_t;
159
    using DecodableArgType = uint16_t;
160
161
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
162
0
    static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id; }
163
0
    static constexpr bool MustUseTimedWrite() { return false; }
164
};
165
} // namespace UltrasonicUnoccupiedToOccupiedDelay
166
namespace UltrasonicUnoccupiedToOccupiedThreshold {
167
struct TypeInfo
168
{
169
    using Type             = uint8_t;
170
    using DecodableType    = uint8_t;
171
    using DecodableArgType = uint8_t;
172
173
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
174
0
    static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id; }
175
0
    static constexpr bool MustUseTimedWrite() { return false; }
176
};
177
} // namespace UltrasonicUnoccupiedToOccupiedThreshold
178
namespace PhysicalContactOccupiedToUnoccupiedDelay {
179
struct TypeInfo
180
{
181
    using Type             = uint16_t;
182
    using DecodableType    = uint16_t;
183
    using DecodableArgType = uint16_t;
184
185
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
186
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id; }
187
0
    static constexpr bool MustUseTimedWrite() { return false; }
188
};
189
} // namespace PhysicalContactOccupiedToUnoccupiedDelay
190
namespace PhysicalContactUnoccupiedToOccupiedDelay {
191
struct TypeInfo
192
{
193
    using Type             = uint16_t;
194
    using DecodableType    = uint16_t;
195
    using DecodableArgType = uint16_t;
196
197
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
198
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id; }
199
0
    static constexpr bool MustUseTimedWrite() { return false; }
200
};
201
} // namespace PhysicalContactUnoccupiedToOccupiedDelay
202
namespace PhysicalContactUnoccupiedToOccupiedThreshold {
203
struct TypeInfo
204
{
205
    using Type             = uint8_t;
206
    using DecodableType    = uint8_t;
207
    using DecodableArgType = uint8_t;
208
209
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
210
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id; }
211
0
    static constexpr bool MustUseTimedWrite() { return false; }
212
};
213
} // namespace PhysicalContactUnoccupiedToOccupiedThreshold
214
namespace GeneratedCommandList {
215
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
216
{
217
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
218
};
219
} // namespace GeneratedCommandList
220
namespace AcceptedCommandList {
221
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
222
{
223
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
224
};
225
} // namespace AcceptedCommandList
226
namespace AttributeList {
227
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
228
{
229
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
230
};
231
} // namespace AttributeList
232
namespace FeatureMap {
233
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
234
{
235
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
236
};
237
} // namespace FeatureMap
238
namespace ClusterRevision {
239
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
240
{
241
0
    static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
242
};
243
} // namespace ClusterRevision
244
245
struct TypeInfo
246
{
247
    struct DecodableType
248
    {
249
0
        static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; }
250
251
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
252
253
        Attributes::Occupancy::TypeInfo::DecodableType occupancy =
254
            static_cast<chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancyBitmap>>(0);
255
        Attributes::OccupancySensorType::TypeInfo::DecodableType occupancySensorType =
256
            static_cast<chip::app::Clusters::OccupancySensing::OccupancySensorTypeEnum>(0);
257
        Attributes::OccupancySensorTypeBitmap::TypeInfo::DecodableType occupancySensorTypeBitmap =
258
            static_cast<chip::BitMask<chip::app::Clusters::OccupancySensing::OccupancySensorTypeBitmap>>(0);
259
        Attributes::HoldTime::TypeInfo::DecodableType holdTime = static_cast<uint16_t>(0);
260
        Attributes::HoldTimeLimits::TypeInfo::DecodableType holdTimeLimits;
261
        Attributes::PIROccupiedToUnoccupiedDelay::TypeInfo::DecodableType PIROccupiedToUnoccupiedDelay = static_cast<uint16_t>(0);
262
        Attributes::PIRUnoccupiedToOccupiedDelay::TypeInfo::DecodableType PIRUnoccupiedToOccupiedDelay = static_cast<uint16_t>(0);
263
        Attributes::PIRUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType PIRUnoccupiedToOccupiedThreshold =
264
            static_cast<uint8_t>(0);
265
        Attributes::UltrasonicOccupiedToUnoccupiedDelay::TypeInfo::DecodableType ultrasonicOccupiedToUnoccupiedDelay =
266
            static_cast<uint16_t>(0);
267
        Attributes::UltrasonicUnoccupiedToOccupiedDelay::TypeInfo::DecodableType ultrasonicUnoccupiedToOccupiedDelay =
268
            static_cast<uint16_t>(0);
269
        Attributes::UltrasonicUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType ultrasonicUnoccupiedToOccupiedThreshold =
270
            static_cast<uint8_t>(0);
271
        Attributes::PhysicalContactOccupiedToUnoccupiedDelay::TypeInfo::DecodableType physicalContactOccupiedToUnoccupiedDelay =
272
            static_cast<uint16_t>(0);
273
        Attributes::PhysicalContactUnoccupiedToOccupiedDelay::TypeInfo::DecodableType physicalContactUnoccupiedToOccupiedDelay =
274
            static_cast<uint16_t>(0);
275
        Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::TypeInfo::DecodableType
276
            physicalContactUnoccupiedToOccupiedThreshold = static_cast<uint8_t>(0);
277
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
278
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
279
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
280
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
281
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
282
    };
283
};
284
} // namespace Attributes
285
} // namespace OccupancySensing
286
} // namespace Clusters
287
} // namespace app
288
} // namespace chip