Coverage Report

Created: 2025-09-02 06:46

/src/connectedhomeip/zzz_generated/app-common/clusters/MeterIdentification/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/MeterIdentification/AttributeIds.h>
36
#include <clusters/MeterIdentification/ClusterId.h>
37
#include <clusters/MeterIdentification/Enums.h>
38
#include <clusters/MeterIdentification/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace MeterIdentification {
44
namespace Attributes {
45
46
namespace MeterType {
47
struct TypeInfo
48
{
49
    using Type             = chip::app::DataModel::Nullable<chip::app::Clusters::MeterIdentification::MeterTypeEnum>;
50
    using DecodableType    = chip::app::DataModel::Nullable<chip::app::Clusters::MeterIdentification::MeterTypeEnum>;
51
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::Clusters::MeterIdentification::MeterTypeEnum> &;
52
53
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
54
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MeterType::Id; }
55
0
    static constexpr bool MustUseTimedWrite() { return false; }
56
};
57
} // namespace MeterType
58
namespace PointOfDelivery {
59
struct TypeInfo
60
{
61
    using Type             = chip::app::DataModel::Nullable<chip::CharSpan>;
62
    using DecodableType    = chip::app::DataModel::Nullable<chip::CharSpan>;
63
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::CharSpan> &;
64
65
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
66
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PointOfDelivery::Id; }
67
0
    static constexpr bool MustUseTimedWrite() { return false; }
68
0
    static constexpr size_t MaxLength() { return 64; }
69
};
70
} // namespace PointOfDelivery
71
namespace MeterSerialNumber {
72
struct TypeInfo
73
{
74
    using Type             = chip::app::DataModel::Nullable<chip::CharSpan>;
75
    using DecodableType    = chip::app::DataModel::Nullable<chip::CharSpan>;
76
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::CharSpan> &;
77
78
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
79
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MeterSerialNumber::Id; }
80
0
    static constexpr bool MustUseTimedWrite() { return false; }
81
0
    static constexpr size_t MaxLength() { return 64; }
82
};
83
} // namespace MeterSerialNumber
84
namespace ProtocolVersion {
85
struct TypeInfo
86
{
87
    using Type             = chip::app::DataModel::Nullable<chip::CharSpan>;
88
    using DecodableType    = chip::app::DataModel::Nullable<chip::CharSpan>;
89
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::CharSpan> &;
90
91
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
92
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ProtocolVersion::Id; }
93
0
    static constexpr bool MustUseTimedWrite() { return false; }
94
0
    static constexpr size_t MaxLength() { return 64; }
95
};
96
} // namespace ProtocolVersion
97
namespace PowerThreshold {
98
struct TypeInfo
99
{
100
    using Type = chip::app::DataModel::Nullable<chip::app::Clusters::Globals::Structs::PowerThresholdStruct::Type>;
101
    using DecodableType =
102
        chip::app::DataModel::Nullable<chip::app::Clusters::Globals::Structs::PowerThresholdStruct::DecodableType>;
103
    using DecodableArgType =
104
        const chip::app::DataModel::Nullable<chip::app::Clusters::Globals::Structs::PowerThresholdStruct::DecodableType> &;
105
106
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
107
0
    static constexpr AttributeId GetAttributeId() { return Attributes::PowerThreshold::Id; }
108
0
    static constexpr bool MustUseTimedWrite() { return false; }
109
};
110
} // namespace PowerThreshold
111
namespace GeneratedCommandList {
112
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
113
{
114
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
115
};
116
} // namespace GeneratedCommandList
117
namespace AcceptedCommandList {
118
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
119
{
120
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
121
};
122
} // namespace AcceptedCommandList
123
namespace AttributeList {
124
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
125
{
126
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
127
};
128
} // namespace AttributeList
129
namespace FeatureMap {
130
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
131
{
132
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
133
};
134
} // namespace FeatureMap
135
namespace ClusterRevision {
136
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
137
{
138
0
    static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
139
};
140
} // namespace ClusterRevision
141
142
struct TypeInfo
143
{
144
    struct DecodableType
145
    {
146
0
        static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; }
147
148
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
149
150
        Attributes::MeterType::TypeInfo::DecodableType meterType;
151
        Attributes::PointOfDelivery::TypeInfo::DecodableType pointOfDelivery;
152
        Attributes::MeterSerialNumber::TypeInfo::DecodableType meterSerialNumber;
153
        Attributes::ProtocolVersion::TypeInfo::DecodableType protocolVersion;
154
        Attributes::PowerThreshold::TypeInfo::DecodableType powerThreshold;
155
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
156
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
157
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
158
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
159
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
160
    };
161
};
162
} // namespace Attributes
163
} // namespace MeterIdentification
164
} // namespace Clusters
165
} // namespace app
166
} // namespace chip