diff --git a/src/app/AttributePathParams.h b/src/app/AttributePathParams.h
index 5feb14e5cc989b..7c79585a027433 100644
--- a/src/app/AttributePathParams.h
+++ b/src/app/AttributePathParams.h
@@ -33,7 +33,7 @@ struct AttributePathParams
//
// TODO: (#11420) This class is overlapped with ClusterInfo class, need to do a clean up.
AttributePathParams(EndpointId aEndpointId, ClusterId aClusterId) :
- AttributePathParams(aEndpointId, aClusterId, ClusterInfo::kInvalidAttributeId, kInvalidListIndex)
+ AttributePathParams(aEndpointId, aClusterId, kInvalidAttributeId, kInvalidListIndex)
{}
AttributePathParams(EndpointId aEndpointId, ClusterId aClusterId, AttributeId aAttributeId) :
@@ -61,13 +61,13 @@ struct AttributePathParams
bool IsValidAttributePath() const { return HasWildcardListIndex() || !HasWildcardAttributeId(); }
inline bool HasWildcardEndpointId() const { return mEndpointId == kInvalidEndpointId; }
- inline bool HasWildcardClusterId() const { return mClusterId == ClusterInfo::kInvalidClusterId; }
- inline bool HasWildcardAttributeId() const { return mAttributeId == ClusterInfo::kInvalidAttributeId; }
+ inline bool HasWildcardClusterId() const { return mClusterId == kInvalidClusterId; }
+ inline bool HasWildcardAttributeId() const { return mAttributeId == kInvalidAttributeId; }
inline bool HasWildcardListIndex() const { return mListIndex == kInvalidListIndex; }
EndpointId mEndpointId = kInvalidEndpointId;
- ClusterId mClusterId = ClusterInfo::kInvalidClusterId;
- AttributeId mAttributeId = ClusterInfo::kInvalidAttributeId;
+ ClusterId mClusterId = kInvalidClusterId;
+ AttributeId mAttributeId = kInvalidAttributeId;
ListIndex mListIndex = kInvalidListIndex;
};
} // namespace app
diff --git a/src/app/ClusterInfo.h b/src/app/ClusterInfo.h
index 8eb5649fc5939c..55e7d7ec403823 100644
--- a/src/app/ClusterInfo.h
+++ b/src/app/ClusterInfo.h
@@ -38,17 +38,6 @@ namespace app {
// Note: The change will happen after #11171 with a better linked list.
struct ClusterInfo
{
-private:
- // Allow AttributePathParams access these constants.
- friend struct AttributePathParams;
- friend struct EventPathParams;
-
- // The ClusterId, AttributeId and EventId are MEIs,
- // 0xFFFF is not a valid manufacturer code, thus 0xFFFF'FFFF is not a valid MEI
- static constexpr ClusterId kInvalidClusterId = 0xFFFF'FFFF;
- static constexpr AttributeId kInvalidAttributeId = 0xFFFF'FFFF;
- static constexpr EventId kInvalidEventId = 0xFFFF'FFFF;
-
public:
bool IsAttributePathSupersetOf(const ClusterInfo & other) const
{
diff --git a/src/app/EventPathParams.h b/src/app/EventPathParams.h
index 32420970b40e30..7a3675a372bd41 100644
--- a/src/app/EventPathParams.h
+++ b/src/app/EventPathParams.h
@@ -41,12 +41,12 @@ struct EventPathParams
bool IsValidEventPath() const { return !(HasWildcardClusterId() && !HasWildcardEventId()); }
inline bool HasWildcardEndpointId() const { return mEndpointId == kInvalidEndpointId; }
- inline bool HasWildcardClusterId() const { return mClusterId == ClusterInfo::kInvalidClusterId; }
- inline bool HasWildcardEventId() const { return mEventId == ClusterInfo::kInvalidEventId; }
+ inline bool HasWildcardClusterId() const { return mClusterId == kInvalidClusterId; }
+ inline bool HasWildcardEventId() const { return mEventId == kInvalidEventId; }
EndpointId mEndpointId = kInvalidEndpointId;
- ClusterId mClusterId = ClusterInfo::kInvalidClusterId;
- EventId mEventId = ClusterInfo::kInvalidEventId;
+ ClusterId mClusterId = kInvalidClusterId;
+ EventId mEventId = kInvalidEventId;
};
} // namespace app
} // namespace chip
diff --git a/src/app/tests/TestClusterInfo.cpp b/src/app/tests/TestClusterInfo.cpp
index 951ae8da191f5d..0c007cdf284833 100644
--- a/src/app/tests/TestClusterInfo.cpp
+++ b/src/app/tests/TestClusterInfo.cpp
@@ -99,11 +99,11 @@ void TestAttributePathIncludedDifferentClusterId(nlTestSuite * apSuite, void * a
}
/*
-{ClusterInfo::kInvalidEndpointId, ClusterInfo::kInvalidClusterId, ClusterInfo::kInvalidEventId},
-{ClusterInfo::kInvalidEndpointId, MockClusterId(1), ClusterInfo::kInvalidEventId},
-{ClusterInfo::kInvalidEndpointId, MockClusterId(1), MockEventId(1)},
-{kMockEndpoint1, ClusterInfo::kInvalidClusterId, ClusterInfo::kInvalidEventId},
-{kMockEndpoint1, MockClusterId(1), ClusterInfo::kInvalidEventId},
+{kInvalidEndpointId, kInvalidClusterId, kInvalidEventId},
+{kInvalidEndpointId, MockClusterId(1), kInvalidEventId},
+{kInvalidEndpointId, MockClusterId(1), MockEventId(1)},
+{kMockEndpoint1, kInvalidClusterId, kInvalidEventId},
+{kMockEndpoint1, MockClusterId(1), kInvalidEventId},
{kMockEndpoint1, MockClusterId(1), MockEventId(1)},
*/
chip::app::ClusterInfo validEventpaths[6];
diff --git a/src/app/tests/suites/TestBasicInformation.yaml b/src/app/tests/suites/TestBasicInformation.yaml
index e964cb8c09cd4b..78b396892e7a72 100644
--- a/src/app/tests/suites/TestBasicInformation.yaml
+++ b/src/app/tests/suites/TestBasicInformation.yaml
@@ -46,3 +46,32 @@ tests:
attribute: "location"
arguments:
value: ""
+
+ - label: "Read AttributeList value"
+ command: "readAttribute"
+ attribute: "AttributeList"
+ response:
+ value:
+ [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 0xFFFB,
+ 0xFFFD,
+ ]
diff --git a/src/app/util/ember-compatibility-functions.cpp b/src/app/util/ember-compatibility-functions.cpp
index 333df9d0f79fca..c7a59776b3bdd9 100644
--- a/src/app/util/ember-compatibility-functions.cpp
+++ b/src/app/util/ember-compatibility-functions.cpp
@@ -250,6 +250,84 @@ CHIP_ERROR SendFailureStatus(const ConcreteAttributePath & aPath, AttributeRepor
return aAttributeReport.EndOfAttributeReportIB().GetError();
}
+// This reader should never actually be registered; we do manual dispatch to it
+// for the one attribute it handles.
+class MandatoryGlobalAttributeReader : public AttributeAccessInterface
+{
+public:
+ MandatoryGlobalAttributeReader(const EmberAfCluster * aCluster) :
+ AttributeAccessInterface(MakeOptional(kInvalidEndpointId), kInvalidClusterId), mCluster(aCluster)
+ {}
+
+protected:
+ const EmberAfCluster * mCluster;
+};
+
+class AttributeListReader : public MandatoryGlobalAttributeReader
+{
+public:
+ AttributeListReader(const EmberAfCluster * aCluster) : MandatoryGlobalAttributeReader(aCluster) {}
+
+ CHIP_ERROR Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) override;
+};
+
+CHIP_ERROR AttributeListReader::Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder)
+{
+ // The id of AttributeList is not in the attribute metadata.
+ // TODO: This does not play nicely with wildcard reads. Need to fix ZAP to
+ // put it in the metadata, or fix wildcard expansion to add it.
+ return aEncoder.EncodeList([this](const auto & encoder) {
+ constexpr AttributeId ourId = Clusters::Globals::Attributes::AttributeList::Id;
+ const size_t count = mCluster->attributeCount;
+ bool addedOurId = false;
+ for (size_t i = 0; i < count; ++i)
+ {
+ AttributeId id = mCluster->attributes[i].attributeId;
+ if (!addedOurId && id > ourId)
+ {
+ ReturnErrorOnFailure(encoder.Encode(ourId));
+ addedOurId = true;
+ }
+ ReturnErrorOnFailure(encoder.Encode(id));
+ }
+ if (!addedOurId)
+ {
+ ReturnErrorOnFailure(encoder.Encode(ourId));
+ }
+ return CHIP_NO_ERROR;
+ });
+}
+
+// Helper function for trying to read an attribute value via an
+// AttributeAccessInterface. On failure, the read has failed. On success, the
+// aTriedEncode outparam is set to whether the AttributeAccessInterface tried to encode a value.
+CHIP_ERROR ReadViaAccessInterface(FabricIndex aAccessingFabricIndex, const ConcreteReadAttributePath & aPath,
+ AttributeReportIBs::Builder & aAttributeReports,
+ AttributeValueEncoder::AttributeEncodeState * aEncoderState,
+ AttributeAccessInterface * aAccessInterface, bool * aTriedEncode)
+{
+ // TODO: We should probably clone the writer and convert failures here
+ // into status responses, unless our caller already does that.
+ AttributeValueEncoder::AttributeEncodeState state =
+ (aEncoderState == nullptr ? AttributeValueEncoder::AttributeEncodeState() : *aEncoderState);
+ AttributeValueEncoder valueEncoder(aAttributeReports, aAccessingFabricIndex, aPath, kTemporaryDataVersion, state);
+ CHIP_ERROR err = aAccessInterface->Read(aPath, valueEncoder);
+
+ if (err != CHIP_NO_ERROR)
+ {
+ // If the err is not CHIP_NO_ERROR, means the encoding was aborted, then the valueEncoder may save its state.
+ // The state is used by list chunking feature for now.
+ if (aEncoderState != nullptr)
+ {
+ *aEncoderState = valueEncoder.GetState();
+ }
+ return err;
+ }
+
+ *aTriedEncode = valueEncoder.TriedEncode();
+ return CHIP_NO_ERROR;
+}
+
} // anonymous namespace
CHIP_ERROR ReadSingleClusterData(FabricIndex aAccessingFabricIndex, const ConcreteReadAttributePath & aPath,
@@ -260,6 +338,22 @@ CHIP_ERROR ReadSingleClusterData(FabricIndex aAccessingFabricIndex, const Concre
"Reading attribute: Cluster=" ChipLogFormatMEI " Endpoint=%" PRIx16 " AttributeId=" ChipLogFormatMEI,
ChipLogValueMEI(aPath.mClusterId), aPath.mEndpointId, ChipLogValueMEI(aPath.mAttributeId));
+ if (aPath.mAttributeId == Clusters::Globals::Attributes::AttributeList::Id)
+ {
+ // This is not in our attribute metadata, so we just check for this
+ // endpoint+cluster existing.
+ EmberAfCluster * cluster = emberAfFindCluster(aPath.mEndpointId, aPath.mClusterId, CLUSTER_MASK_SERVER);
+ if (cluster)
+ {
+ AttributeListReader reader(cluster);
+ bool ignored; // Our reader always tries to encode
+ return ReadViaAccessInterface(aAccessingFabricIndex, aPath, aAttributeReports, apEncoderState, &reader, &ignored);
+ }
+
+ // else to save codesize just fall through and do the metadata search
+ // (which we know will fail and error out);
+ }
+
EmberAfAttributeMetadata * attributeMetadata =
emberAfLocateAttributeMetadata(aPath.mEndpointId, aPath.mClusterId, aPath.mAttributeId, CLUSTER_MASK_SERVER, 0);
@@ -277,27 +371,11 @@ CHIP_ERROR ReadSingleClusterData(FabricIndex aAccessingFabricIndex, const Concre
// The AttributeValueEncoder may encode more than one AttributeReportIB for the list chunking feature.
if (attrOverride != nullptr)
{
- // TODO: We should probably clone the writer and convert failures here
- // into status responses, unless our caller already does that.
- AttributeValueEncoder::AttributeEncodeState state =
- (apEncoderState == nullptr ? AttributeValueEncoder::AttributeEncodeState() : *apEncoderState);
- AttributeValueEncoder valueEncoder(aAttributeReports, aAccessingFabricIndex,
- ConcreteAttributePath(aPath.mEndpointId, aPath.mClusterId, aPath.mAttributeId),
- kTemporaryDataVersion, state);
- CHIP_ERROR err = attrOverride->Read(aPath, valueEncoder);
-
- if (err != CHIP_NO_ERROR)
- {
- // If the err is not CHIP_NO_ERROR, means the encoding was aborted, then the valueEncoder may save its state.
- // The state is used by list chunking feature for now.
- if (apEncoderState != nullptr)
- {
- *apEncoderState = valueEncoder.GetState();
- }
- return err;
- }
+ bool triedEncode;
+ ReturnErrorOnFailure(
+ ReadViaAccessInterface(aAccessingFabricIndex, aPath, aAttributeReports, apEncoderState, attrOverride, &triedEncode));
- if (valueEncoder.TriedEncode())
+ if (triedEncode)
{
return CHIP_NO_ERROR;
}
diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js
index 1d7cdbbdf80172..d4f92c9e4bf6af 100644
--- a/src/app/zap-templates/templates/app/helper.js
+++ b/src/app/zap-templates/templates/app/helper.js
@@ -30,6 +30,7 @@ const ChipTypesHelper = require('../../common/ChipTypesHelper.js');
// This list of attributes is taken from section '11.2. Global Attributes' of the
// Data Model specification.
const kGlobalAttributes = [
+ 0xfffb, // AttributeList
0xfffc, // ClusterRevision
0xfffd, // FeatureMap
];
diff --git a/src/app/zap-templates/zcl/data-model/chip/global-attributes.xml b/src/app/zap-templates/zcl/data-model/chip/global-attributes.xml
index 8f5baa215188eb..08ed276366c0ad 100644
--- a/src/app/zap-templates/zcl/data-model/chip/global-attributes.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/global-attributes.xml
@@ -20,5 +20,7 @@ limitations under the License.
ClusterRevision
FeatureMap
FeatureMap
+ AttributeList
+
diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap
index 1473715e5d1718..2607882cc40796 100644
--- a/src/controller/data_model/controller-clusters.zap
+++ b/src/controller/data_model/controller-clusters.zap
@@ -135,6 +135,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -284,6 +299,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -517,6 +547,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -693,6 +738,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -790,6 +850,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -1117,6 +1192,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -1214,6 +1304,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -1326,6 +1431,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -1395,6 +1515,21 @@
"enabled": 0,
"commands": [],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -1477,6 +1612,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -1671,6 +1821,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -2042,6 +2207,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -2136,6 +2316,21 @@
}
],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -2227,6 +2422,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -2294,6 +2504,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -2811,6 +3036,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -3003,6 +3243,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -3200,6 +3455,21 @@
}
],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -3268,7 +3538,23 @@
"outgoing": 0
}
],
- "attributes": []
+ "attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
},
{
"name": "General Diagnostics",
@@ -3425,6 +3711,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -3561,6 +3862,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -4592,9 +4908,24 @@
"singleton": 0,
"bounded": 0,
"defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
"reportableChange": 0
},
{
@@ -4868,6 +5199,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -5094,6 +5440,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -5161,6 +5522,21 @@
"enabled": 0,
"commands": [],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5258,6 +5634,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -5395,6 +5786,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5628,6 +6034,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5710,6 +6131,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5777,6 +6213,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5844,6 +6295,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5980,6 +6446,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -6342,6 +6823,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "NumberOfLogRecordsSupported",
+ "code": 16,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "EnableLogging",
"code": 32,
@@ -6687,6 +7183,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -7066,6 +7577,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -7210,6 +7736,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -7637,6 +8178,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -8047,6 +8603,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "FeatureMap",
"code": 65532,
@@ -8159,6 +8730,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -9144,6 +9730,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -9250,23 +9851,38 @@
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
- "defaultValue": "",
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "LightSensorType",
+ "code": 4,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0xFF",
"reportable": 1,
"minInterval": 1,
"maxInterval": 65534,
"reportableChange": 0
},
{
- "name": "LightSensorType",
- "code": 4,
+ "name": "AttributeList",
+ "code": 65531,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
- "defaultValue": "0xFF",
- "reportable": 1,
+ "defaultValue": "",
+ "reportable": 0,
"minInterval": 1,
"maxInterval": 65534,
"reportableChange": 0
@@ -9383,6 +9999,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -9525,6 +10156,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -9637,6 +10283,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -9749,6 +10410,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -9846,6 +10522,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10066,6 +10757,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10197,6 +10903,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10282,6 +11003,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10632,6 +11368,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10747,6 +11498,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10808,6 +11574,21 @@
"enabled": 0,
"commands": [],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10878,6 +11659,21 @@
}
],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -10994,6 +11790,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -11093,6 +11904,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -11208,6 +12034,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -11374,6 +12215,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -11452,6 +12308,21 @@
}
],
"attributes": [
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -12868,6 +13739,21 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -13085,6 +13971,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -13115,5 +14016,6 @@
"endpointVersion": 1,
"deviceIdentifier": 22
}
- ]
+ ],
+ "log": []
}
\ No newline at end of file
diff --git a/src/controller/java/templates/ClusterInfo-java.zapt b/src/controller/java/templates/ClusterInfo-java.zapt
index 565bba2f243b44..7440c4188c51b4 100644
--- a/src/controller/java/templates/ClusterInfo-java.zapt
+++ b/src/controller/java/templates/ClusterInfo-java.zapt
@@ -240,7 +240,7 @@ public class ClusterInfoMapping {
{{/if}}
- public static class Delegated{{asUpperCamelCase name}}AttributeCallback implements ChipClusters.{{asUpperCamelCase ../name}}Cluster.{{asUpperCamelCase name}}AttributeCallback, DelegatedClusterCallback {
+ public static class Delegated{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}AttributeCallback implements ChipClusters.{{asUpperCamelCase ../name}}Cluster.{{asUpperCamelCase name}}AttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
public void setCallbackDelegate(ClusterCommandCallback callback) {
diff --git a/src/controller/java/templates/ClusterInfo-read-interaction.zapt b/src/controller/java/templates/ClusterInfo-read-interaction.zapt
index da80b5f9a294fa..d4162f580d3105 100644
--- a/src/controller/java/templates/ClusterInfo-read-interaction.zapt
+++ b/src/controller/java/templates/ClusterInfo-read-interaction.zapt
@@ -30,7 +30,7 @@ public class ClusterReadMapping {
);
},
{{#if isList}}
- () -> new ClusterInfoMapping.Delegated{{asUpperCamelCase name}}AttributeCallback(),
+ () -> new ClusterInfoMapping.Delegated{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}AttributeCallback(),
{{else}}
() -> new ClusterInfoMapping.Delegated{{convertAttributeCallbackTypeToJavaName chipCallback.type}}AttributeCallback(),
{{/if}}
diff --git a/src/controller/java/zap-generated/CHIPCallbackTypes.h b/src/controller/java/zap-generated/CHIPCallbackTypes.h
index 3324cff379a38c..fa05d92719dee4 100644
--- a/src/controller/java/zap-generated/CHIPCallbackTypes.h
+++ b/src/controller/java/zap-generated/CHIPCallbackTypes.h
@@ -27,11 +27,15 @@ typedef void (*CHIPAccessControlClusterAclAttributeCallbackType)(
void *, const chip::app::Clusters::AccessControl::Attributes::Acl::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterExtensionAttributeCallbackType)(
void *, const chip::app::Clusters::AccessControl::Attributes::Extension::TypeInfo::DecodableType &);
+typedef void (*CHIPAccessControlClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::AccessControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::AccessControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPAccountLoginClusterGetSetupPINResponseCallbackType)(
void *, const chip::app::Clusters::AccountLogin::Commands::GetSetupPINResponse::DecodableType &);
+typedef void (*CHIPAccountLoginClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::AccountLogin::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAccountLoginClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::AccountLogin::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -41,6 +45,8 @@ typedef void (*CHIPAdministratorCommissioningClusterAdminFabricIndexAttributeCal
void *, chip::app::Clusters::AdministratorCommissioning::Attributes::AdminFabricIndex::TypeInfo::DecodableArgType);
typedef void (*CHIPAdministratorCommissioningClusterAdminVendorIdAttributeCallbackType)(
void *, chip::app::Clusters::AdministratorCommissioning::Attributes::AdminVendorId::TypeInfo::DecodableArgType);
+typedef void (*CHIPAdministratorCommissioningClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::AdministratorCommissioning::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAdministratorCommissioningClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::AdministratorCommissioning::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -58,6 +64,8 @@ typedef void (*CHIPApplicationBasicClusterCatalogVendorIdAttributeCallbackType)(
void *, chip::app::Clusters::ApplicationBasic::Attributes::CatalogVendorId::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterApplicationStatusAttributeCallbackType)(
void *, chip::app::Clusters::ApplicationBasic::Attributes::ApplicationStatus::TypeInfo::DecodableArgType);
+typedef void (*CHIPApplicationBasicClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ApplicationBasic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationBasicClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ApplicationBasic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationLauncherClusterLaunchAppResponseCallbackType)(
@@ -69,6 +77,8 @@ typedef void (*CHIPApplicationLauncherClusterCatalogVendorIdAttributeCallbackTyp
void *, chip::app::Clusters::ApplicationLauncher::Attributes::CatalogVendorId::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationLauncherClusterApplicationIdAttributeCallbackType)(
void *, chip::app::Clusters::ApplicationLauncher::Attributes::ApplicationId::TypeInfo::DecodableArgType);
+typedef void (*CHIPApplicationLauncherClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ApplicationLauncher::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationLauncherClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ApplicationLauncher::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -76,6 +86,8 @@ typedef void (*CHIPAudioOutputClusterAudioOutputListAttributeCallbackType)(
void *, const chip::app::Clusters::AudioOutput::Attributes::AudioOutputList::TypeInfo::DecodableType &);
typedef void (*CHIPAudioOutputClusterCurrentAudioOutputAttributeCallbackType)(
void *, chip::app::Clusters::AudioOutput::Attributes::CurrentAudioOutput::TypeInfo::DecodableArgType);
+typedef void (*CHIPAudioOutputClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::AudioOutput::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAudioOutputClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::AudioOutput::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -87,6 +99,8 @@ typedef void (*CHIPBarrierControlClusterBarrierCapabilitiesAttributeCallbackType
void *, chip::app::Clusters::BarrierControl::Attributes::BarrierCapabilities::TypeInfo::DecodableArgType);
typedef void (*CHIPBarrierControlClusterBarrierPositionAttributeCallbackType)(
void *, chip::app::Clusters::BarrierControl::Attributes::BarrierPosition::TypeInfo::DecodableArgType);
+typedef void (*CHIPBarrierControlClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::BarrierControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBarrierControlClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::BarrierControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -128,6 +142,8 @@ typedef void (*CHIPBasicClusterReachableAttributeCallbackType)(
void *, chip::app::Clusters::Basic::Attributes::Reachable::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterUniqueIDAttributeCallbackType)(
void *, chip::app::Clusters::Basic::Attributes::UniqueID::TypeInfo::DecodableArgType);
+typedef void (*CHIPBasicClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Basic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBasicClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::Basic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -137,14 +153,20 @@ typedef void (*CHIPBinaryInputBasicClusterPresentValueAttributeCallbackType)(
void *, chip::app::Clusters::BinaryInputBasic::Attributes::PresentValue::TypeInfo::DecodableArgType);
typedef void (*CHIPBinaryInputBasicClusterStatusFlagsAttributeCallbackType)(
void *, chip::app::Clusters::BinaryInputBasic::Attributes::StatusFlags::TypeInfo::DecodableArgType);
+typedef void (*CHIPBinaryInputBasicClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::BinaryInputBasic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBinaryInputBasicClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::BinaryInputBasic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
+typedef void (*CHIPBindingClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Binding::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBindingClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::Binding::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPBooleanStateClusterStateValueAttributeCallbackType)(
void *, chip::app::Clusters::BooleanState::Attributes::StateValue::TypeInfo::DecodableArgType);
+typedef void (*CHIPBooleanStateClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::BooleanState::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBooleanStateClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::BooleanState::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -154,9 +176,13 @@ typedef void (*CHIPBridgedActionsClusterEndpointListAttributeCallbackType)(
void *, const chip::app::Clusters::BridgedActions::Attributes::EndpointList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterSetupUrlAttributeCallbackType)(
void *, chip::app::Clusters::BridgedActions::Attributes::SetupUrl::TypeInfo::DecodableArgType);
+typedef void (*CHIPBridgedActionsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::BridgedActions::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::BridgedActions::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
+typedef void (*CHIPBridgedDeviceBasicClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::BridgedDeviceBasic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedDeviceBasicClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -264,6 +290,8 @@ typedef void (*CHIPColorControlClusterCoupleColorTempToLevelMinMiredsAttributeCa
void *, chip::app::Clusters::ColorControl::Attributes::CoupleColorTempToLevelMinMireds::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterStartUpColorTemperatureMiredsAttributeCallbackType)(
void *, chip::app::Clusters::ColorControl::Attributes::StartUpColorTemperatureMireds::TypeInfo::DecodableArgType);
+typedef void (*CHIPColorControlClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ColorControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPColorControlClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ColorControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPContentLauncherClusterLaunchContentResponseCallbackType)(
@@ -275,6 +303,8 @@ typedef void (*CHIPContentLauncherClusterAcceptsHeaderListAttributeCallbackType)
void *, const chip::app::Clusters::ContentLauncher::Attributes::AcceptsHeaderList::TypeInfo::DecodableType &);
typedef void (*CHIPContentLauncherClusterSupportedStreamingTypesAttributeCallbackType)(
void *, const chip::app::Clusters::ContentLauncher::Attributes::SupportedStreamingTypes::TypeInfo::DecodableType &);
+typedef void (*CHIPContentLauncherClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ContentLauncher::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPContentLauncherClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ContentLauncher::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -286,11 +316,15 @@ typedef void (*CHIPDescriptorClusterClientListAttributeCallbackType)(
void *, const chip::app::Clusters::Descriptor::Attributes::ClientList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterPartsListAttributeCallbackType)(
void *, const chip::app::Clusters::Descriptor::Attributes::PartsList::TypeInfo::DecodableType &);
+typedef void (*CHIPDescriptorClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Descriptor::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::Descriptor::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPDiagnosticLogsClusterRetrieveLogsResponseCallbackType)(
void *, const chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType &);
+typedef void (*CHIPDiagnosticLogsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::DiagnosticLogs::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPDoorLockClusterGetHolidayScheduleResponseCallbackType)(
void *, const chip::app::Clusters::DoorLock::Commands::GetHolidayScheduleResponse::DecodableType &);
typedef void (*CHIPDoorLockClusterGetLogRecordResponseCallbackType)(
@@ -312,6 +346,8 @@ typedef void (*CHIPDoorLockClusterLockTypeAttributeCallbackType)(
void *, chip::app::Clusters::DoorLock::Attributes::LockType::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterActuatorEnabledAttributeCallbackType)(
void *, chip::app::Clusters::DoorLock::Attributes::ActuatorEnabled::TypeInfo::DecodableArgType);
+typedef void (*CHIPDoorLockClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::DoorLock::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPDoorLockClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::DoorLock::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -337,6 +373,8 @@ typedef void (*CHIPElectricalMeasurementClusterActivePowerMinAttributeCallbackTy
void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ActivePowerMin::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterActivePowerMaxAttributeCallbackType)(
void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ActivePowerMax::TypeInfo::DecodableArgType);
+typedef void (*CHIPElectricalMeasurementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ElectricalMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPElectricalMeasurementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -358,6 +396,8 @@ typedef void (*CHIPEthernetNetworkDiagnosticsClusterCarrierDetectAttributeCallba
void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::CarrierDetect::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterTimeSinceResetAttributeCallbackType)(
void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::TimeSinceReset::TypeInfo::DecodableArgType);
+typedef void (*CHIPEthernetNetworkDiagnosticsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterClusterRevisionAttributeCallbackType)(
@@ -365,6 +405,8 @@ typedef void (*CHIPEthernetNetworkDiagnosticsClusterClusterRevisionAttributeCall
typedef void (*CHIPFixedLabelClusterLabelListAttributeCallbackType)(
void *, const chip::app::Clusters::FixedLabel::Attributes::LabelList::TypeInfo::DecodableType &);
+typedef void (*CHIPFixedLabelClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::FixedLabel::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPFixedLabelClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::FixedLabel::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -376,6 +418,8 @@ typedef void (*CHIPFlowMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
void *, chip::app::Clusters::FlowMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPFlowMeasurementClusterToleranceAttributeCallbackType)(
void *, chip::app::Clusters::FlowMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
+typedef void (*CHIPFlowMeasurementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::FlowMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPFlowMeasurementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::FlowMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackType)(
@@ -393,6 +437,8 @@ typedef void (*CHIPGeneralCommissioningClusterRegulatoryConfigAttributeCallbackT
void *, chip::app::Clusters::GeneralCommissioning::Attributes::RegulatoryConfig::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterLocationCapabilityAttributeCallbackType)(
void *, chip::app::Clusters::GeneralCommissioning::Attributes::LocationCapability::TypeInfo::DecodableArgType);
+typedef void (*CHIPGeneralCommissioningClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::GeneralCommissioning::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralCommissioningClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::GeneralCommissioning::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -412,6 +458,8 @@ typedef void (*CHIPGeneralDiagnosticsClusterActiveRadioFaultsAttributeCallbackTy
void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::ActiveRadioFaults::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterActiveNetworkFaultsAttributeCallbackType)(
void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::ActiveNetworkFaults::TypeInfo::DecodableType &);
+typedef void (*CHIPGeneralDiagnosticsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::GeneralDiagnostics::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -419,6 +467,8 @@ typedef void (*CHIPGroupKeyManagementClusterGroupsAttributeCallbackType)(
void *, const chip::app::Clusters::GroupKeyManagement::Attributes::Groups::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterGroupKeysAttributeCallbackType)(
void *, const chip::app::Clusters::GroupKeyManagement::Attributes::GroupKeys::TypeInfo::DecodableType &);
+typedef void (*CHIPGroupKeyManagementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::GroupKeyManagement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::GroupKeyManagement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupsClusterAddGroupResponseCallbackType)(
@@ -432,6 +482,8 @@ typedef void (*CHIPGroupsClusterViewGroupResponseCallbackType)(
typedef void (*CHIPGroupsClusterNameSupportAttributeCallbackType)(
void *, chip::app::Clusters::Groups::Attributes::NameSupport::TypeInfo::DecodableArgType);
+typedef void (*CHIPGroupsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Groups::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupsClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::Groups::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPIdentifyClusterIdentifyQueryResponseCallbackType)(
@@ -441,6 +493,8 @@ typedef void (*CHIPIdentifyClusterIdentifyTimeAttributeCallbackType)(
void *, chip::app::Clusters::Identify::Attributes::IdentifyTime::TypeInfo::DecodableArgType);
typedef void (*CHIPIdentifyClusterIdentifyTypeAttributeCallbackType)(
void *, chip::app::Clusters::Identify::Attributes::IdentifyType::TypeInfo::DecodableArgType);
+typedef void (*CHIPIdentifyClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Identify::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPIdentifyClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::Identify::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -454,11 +508,15 @@ typedef void (*CHIPIlluminanceMeasurementClusterToleranceAttributeCallbackType)(
void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterLightSensorTypeAttributeCallbackType)(
void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::LightSensorType::TypeInfo::DecodableArgType);
+typedef void (*CHIPIlluminanceMeasurementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::IlluminanceMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPIlluminanceMeasurementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPKeypadInputClusterSendKeyResponseCallbackType)(
void *, const chip::app::Clusters::KeypadInput::Commands::SendKeyResponse::DecodableType &);
+typedef void (*CHIPKeypadInputClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::KeypadInput::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPKeypadInputClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::KeypadInput::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -490,9 +548,13 @@ typedef void (*CHIPLevelControlClusterDefaultMoveRateAttributeCallbackType)(
void *, chip::app::Clusters::LevelControl::Attributes::DefaultMoveRate::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterStartUpCurrentLevelAttributeCallbackType)(
void *, chip::app::Clusters::LevelControl::Attributes::StartUpCurrentLevel::TypeInfo::DecodableArgType);
+typedef void (*CHIPLevelControlClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::LevelControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPLevelControlClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::LevelControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
+typedef void (*CHIPLowPowerClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::LowPower::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPLowPowerClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::LowPower::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -500,6 +562,8 @@ typedef void (*CHIPMediaInputClusterMediaInputListAttributeCallbackType)(
void *, const chip::app::Clusters::MediaInput::Attributes::MediaInputList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaInputClusterCurrentMediaInputAttributeCallbackType)(
void *, chip::app::Clusters::MediaInput::Attributes::CurrentMediaInput::TypeInfo::DecodableArgType);
+typedef void (*CHIPMediaInputClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::MediaInput::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaInputClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::MediaInput::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackType)(
@@ -541,6 +605,8 @@ typedef void (*CHIPMediaPlaybackClusterSeekRangeEndAttributeCallbackType)(
void *, chip::app::Clusters::MediaPlayback::Attributes::SeekRangeEnd::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterSeekRangeStartAttributeCallbackType)(
void *, chip::app::Clusters::MediaPlayback::Attributes::SeekRangeStart::TypeInfo::DecodableArgType);
+typedef void (*CHIPMediaPlaybackClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::MediaPlayback::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaPlaybackClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::MediaPlayback::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -554,6 +620,8 @@ typedef void (*CHIPModeSelectClusterStartUpModeAttributeCallbackType)(
void *, chip::app::Clusters::ModeSelect::Attributes::StartUpMode::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterDescriptionAttributeCallbackType)(
void *, chip::app::Clusters::ModeSelect::Attributes::Description::TypeInfo::DecodableArgType);
+typedef void (*CHIPModeSelectClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ModeSelect::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPModeSelectClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ModeSelect::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackType)(
@@ -573,6 +641,8 @@ typedef void (*CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbac
typedef void (*CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackType)(
void *, const chip::app::Clusters::NetworkCommissioning::Commands::UpdateWiFiNetworkResponse::DecodableType &);
+typedef void (*CHIPNetworkCommissioningClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::NetworkCommissioning::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPNetworkCommissioningClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::NetworkCommissioning::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterClusterRevisionAttributeCallbackType)(
@@ -582,6 +652,8 @@ typedef void (*CHIPOtaSoftwareUpdateProviderClusterApplyUpdateResponseCallbackTy
typedef void (*CHIPOtaSoftwareUpdateProviderClusterQueryImageResponseCallbackType)(
void *, const chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType &);
+typedef void (*CHIPOtaSoftwareUpdateProviderClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::OtaSoftwareUpdateProvider::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOtaSoftwareUpdateProviderClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::OtaSoftwareUpdateProvider::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -589,6 +661,8 @@ typedef void (*CHIPOtaSoftwareUpdateRequestorClusterDefaultOtaProviderAttributeC
void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::DefaultOtaProvider::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterUpdatePossibleAttributeCallbackType)(
void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::TypeInfo::DecodableArgType);
+typedef void (*CHIPOtaSoftwareUpdateRequestorClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -598,6 +672,8 @@ typedef void (*CHIPOccupancySensingClusterOccupancySensorTypeAttributeCallbackTy
void *, chip::app::Clusters::OccupancySensing::Attributes::OccupancySensorType::TypeInfo::DecodableArgType);
typedef void (*CHIPOccupancySensingClusterOccupancySensorTypeBitmapAttributeCallbackType)(
void *, chip::app::Clusters::OccupancySensing::Attributes::OccupancySensorTypeBitmap::TypeInfo::DecodableArgType);
+typedef void (*CHIPOccupancySensingClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::OccupancySensing::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOccupancySensingClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::OccupancySensing::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -611,6 +687,8 @@ typedef void (*CHIPOnOffClusterOffWaitTimeAttributeCallbackType)(
void *, chip::app::Clusters::OnOff::Attributes::OffWaitTime::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterStartUpOnOffAttributeCallbackType)(
void *, chip::app::Clusters::OnOff::Attributes::StartUpOnOff::TypeInfo::DecodableArgType);
+typedef void (*CHIPOnOffClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::OnOff::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::OnOff::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterClusterRevisionAttributeCallbackType)(
@@ -620,6 +698,8 @@ typedef void (*CHIPOnOffSwitchConfigurationClusterSwitchTypeAttributeCallbackTyp
void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::SwitchType::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffSwitchConfigurationClusterSwitchActionsAttributeCallbackType)(
void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::SwitchActions::TypeInfo::DecodableArgType);
+typedef void (*CHIPOnOffSwitchConfigurationClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::OnOffSwitchConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffSwitchConfigurationClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPOperationalCredentialsClusterAttestationResponseCallbackType)(
@@ -641,6 +721,8 @@ typedef void (*CHIPOperationalCredentialsClusterTrustedRootCertificatesAttribute
void *, const chip::app::Clusters::OperationalCredentials::Attributes::TrustedRootCertificates::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterCurrentFabricIndexAttributeCallbackType)(
void *, chip::app::Clusters::OperationalCredentials::Attributes::CurrentFabricIndex::TypeInfo::DecodableArgType);
+typedef void (*CHIPOperationalCredentialsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::OperationalCredentials::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::OperationalCredentials::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -662,6 +744,8 @@ typedef void (*CHIPPowerSourceClusterActiveBatteryFaultsAttributeCallbackType)(
void *, const chip::app::Clusters::PowerSource::Attributes::ActiveBatteryFaults::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterBatteryChargeStateAttributeCallbackType)(
void *, chip::app::Clusters::PowerSource::Attributes::BatteryChargeState::TypeInfo::DecodableArgType);
+typedef void (*CHIPPowerSourceClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::PowerSource::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::PowerSource::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterClusterRevisionAttributeCallbackType)(
@@ -669,6 +753,8 @@ typedef void (*CHIPPowerSourceClusterClusterRevisionAttributeCallbackType)(
typedef void (*CHIPPowerSourceConfigurationClusterSourcesAttributeCallbackType)(
void *, const chip::app::Clusters::PowerSourceConfiguration::Attributes::Sources::TypeInfo::DecodableType &);
+typedef void (*CHIPPowerSourceConfigurationClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::PowerSourceConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceConfigurationClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::PowerSourceConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -678,6 +764,8 @@ typedef void (*CHIPPressureMeasurementClusterMinMeasuredValueAttributeCallbackTy
void *, chip::app::Clusters::PressureMeasurement::Attributes::MinMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
void *, chip::app::Clusters::PressureMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
+typedef void (*CHIPPressureMeasurementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::PressureMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPressureMeasurementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::PressureMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -729,6 +817,8 @@ typedef void (*CHIPPumpConfigurationAndControlClusterControlModeAttributeCallbac
void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::ControlMode::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterAlarmMaskAttributeCallbackType)(
void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::AlarmMask::TypeInfo::DecodableArgType);
+typedef void (*CHIPPumpConfigurationAndControlClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::PumpConfigurationAndControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPumpConfigurationAndControlClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterClusterRevisionAttributeCallbackType)(
@@ -742,6 +832,8 @@ typedef void (*CHIPRelativeHumidityMeasurementClusterMaxMeasuredValueAttributeCa
void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPRelativeHumidityMeasurementClusterToleranceAttributeCallbackType)(
void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
+typedef void (*CHIPRelativeHumidityMeasurementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::RelativeHumidityMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPRelativeHumidityMeasurementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterAddSceneResponseCallbackType)(
@@ -767,6 +859,8 @@ typedef void (*CHIPScenesClusterSceneValidAttributeCallbackType)(
void *, chip::app::Clusters::Scenes::Attributes::SceneValid::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterNameSupportAttributeCallbackType)(
void *, chip::app::Clusters::Scenes::Attributes::NameSupport::TypeInfo::DecodableArgType);
+typedef void (*CHIPScenesClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Scenes::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPScenesClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::Scenes::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -778,6 +872,8 @@ typedef void (*CHIPSoftwareDiagnosticsClusterCurrentHeapUsedAttributeCallbackTyp
void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapUsed::TypeInfo::DecodableArgType);
typedef void (*CHIPSoftwareDiagnosticsClusterCurrentHeapHighWatermarkAttributeCallbackType)(
void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::TypeInfo::DecodableArgType);
+typedef void (*CHIPSoftwareDiagnosticsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::SoftwareDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPSoftwareDiagnosticsClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPSoftwareDiagnosticsClusterClusterRevisionAttributeCallbackType)(
@@ -789,6 +885,8 @@ typedef void (*CHIPSwitchClusterCurrentPositionAttributeCallbackType)(
void *, chip::app::Clusters::Switch::Attributes::CurrentPosition::TypeInfo::DecodableArgType);
typedef void (*CHIPSwitchClusterMultiPressMaxAttributeCallbackType)(
void *, chip::app::Clusters::Switch::Attributes::MultiPressMax::TypeInfo::DecodableArgType);
+typedef void (*CHIPSwitchClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Switch::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPSwitchClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::Switch::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPSwitchClusterClusterRevisionAttributeCallbackType)(
@@ -802,6 +900,8 @@ typedef void (*CHIPTvChannelClusterTvChannelLineupAttributeCallbackType)(
void *, chip::app::Clusters::TvChannel::Attributes::TvChannelLineup::TypeInfo::DecodableArgType);
typedef void (*CHIPTvChannelClusterCurrentTvChannelAttributeCallbackType)(
void *, chip::app::Clusters::TvChannel::Attributes::CurrentTvChannel::TypeInfo::DecodableArgType);
+typedef void (*CHIPTvChannelClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::TvChannel::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTvChannelClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::TvChannel::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPTargetNavigatorClusterNavigateTargetResponseCallbackType)(
@@ -809,6 +909,8 @@ typedef void (*CHIPTargetNavigatorClusterNavigateTargetResponseCallbackType)(
typedef void (*CHIPTargetNavigatorClusterTargetNavigatorListAttributeCallbackType)(
void *, const chip::app::Clusters::TargetNavigator::Attributes::TargetNavigatorList::TypeInfo::DecodableType &);
+typedef void (*CHIPTargetNavigatorClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::TargetNavigator::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTargetNavigatorClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::TargetNavigator::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -820,6 +922,8 @@ typedef void (*CHIPTemperatureMeasurementClusterMaxMeasuredValueAttributeCallbac
void *, chip::app::Clusters::TemperatureMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPTemperatureMeasurementClusterToleranceAttributeCallbackType)(
void *, chip::app::Clusters::TemperatureMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
+typedef void (*CHIPTemperatureMeasurementClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::TemperatureMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTemperatureMeasurementClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::TemperatureMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterBooleanResponseCallbackType)(
@@ -993,6 +1097,8 @@ typedef void (*CHIPTestClusterClusterNullableRangeRestrictedInt16uAttributeCallb
void *, chip::app::Clusters::TestCluster::Attributes::NullableRangeRestrictedInt16u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableRangeRestrictedInt16sAttributeCallbackType)(
void *, chip::app::Clusters::TestCluster::Attributes::NullableRangeRestrictedInt16s::TypeInfo::DecodableArgType);
+typedef void (*CHIPTestClusterClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::TestCluster::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::TestCluster::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -1030,6 +1136,8 @@ typedef void (*CHIPThermostatClusterNumberOfWeeklyTransitionsAttributeCallbackTy
void *, chip::app::Clusters::Thermostat::Attributes::NumberOfWeeklyTransitions::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterNumberOfDailyTransitionsAttributeCallbackType)(
void *, chip::app::Clusters::Thermostat::Attributes::NumberOfDailyTransitions::TypeInfo::DecodableArgType);
+typedef void (*CHIPThermostatClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::Thermostat::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPThermostatClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::Thermostat::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterClusterRevisionAttributeCallbackType)(
@@ -1044,6 +1152,8 @@ typedef void (*CHIPThermostatUserInterfaceConfigurationClusterScheduleProgrammin
void *,
chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::TypeInfo::
DecodableArgType);
+typedef void (*CHIPThermostatUserInterfaceConfigurationClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -1175,6 +1285,8 @@ typedef void (*CHIPThreadNetworkDiagnosticsClusterOperationalDatasetComponentsAt
const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::OperationalDatasetComponents::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterActiveNetworkFaultsListAttributeCallbackType)(
void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ActiveNetworkFaultsList::TypeInfo::DecodableType &);
+typedef void (*CHIPThreadNetworkDiagnosticsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterClusterRevisionAttributeCallbackType)(
@@ -1182,6 +1294,8 @@ typedef void (*CHIPThreadNetworkDiagnosticsClusterClusterRevisionAttributeCallba
typedef void (*CHIPWakeOnLanClusterWakeOnLanMacAddressAttributeCallbackType)(
void *, chip::app::Clusters::WakeOnLan::Attributes::WakeOnLanMacAddress::TypeInfo::DecodableArgType);
+typedef void (*CHIPWakeOnLanClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::WakeOnLan::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPWakeOnLanClusterClusterRevisionAttributeCallbackType)(
void *, chip::app::Clusters::WakeOnLan::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
@@ -1211,6 +1325,8 @@ typedef void (*CHIPWiFiNetworkDiagnosticsClusterCurrentMaxRateAttributeCallbackT
void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterOverrunCountAttributeCallbackType)(
void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::OverrunCount::TypeInfo::DecodableArgType);
+typedef void (*CHIPWiFiNetworkDiagnosticsClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterClusterRevisionAttributeCallbackType)(
@@ -1252,6 +1368,8 @@ typedef void (*CHIPWindowCoveringClusterModeAttributeCallbackType)(
void *, chip::app::Clusters::WindowCovering::Attributes::Mode::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterSafetyStatusAttributeCallbackType)(
void *, chip::app::Clusters::WindowCovering::Attributes::SafetyStatus::TypeInfo::DecodableArgType);
+typedef void (*CHIPWindowCoveringClusterAttributeListAttributeCallbackType)(
+ void *, const chip::app::Clusters::WindowCovering::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPWindowCoveringClusterFeatureMapAttributeCallbackType)(
void *, chip::app::Clusters::WindowCovering::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterClusterRevisionAttributeCallbackType)(
diff --git a/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp b/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp
index 33424bf5b8ab96..86c7c6fcef6831 100644
--- a/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp
+++ b/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp
@@ -100,6 +100,41 @@ JNI_METHOD(void, AccessControlCluster, readExtensionAttribute)(JNIEnv * env, job
onFailure.release();
}
+JNI_METHOD(void, AccessControlCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::AccessControl::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::AccessControlCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, AccessControlCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
@@ -134,6 +169,41 @@ JNI_METHOD(void, AccessControlCluster, readClusterRevisionAttribute)(JNIEnv * en
onFailure.release();
}
+JNI_METHOD(void, AccountLoginCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::AccountLogin::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::AccountLoginCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, AccountLoginCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
@@ -281,6 +351,45 @@ JNI_METHOD(void, AdministratorCommissioningCluster, readAdminVendorIdAttribute)
onFailure.release();
}
+JNI_METHOD(void, AdministratorCommissioningCluster, readAttributeListAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::AdministratorCommissioning::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::AdministratorCommissioningCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, AdministratorCommissioningCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -570,6 +679,44 @@ JNI_METHOD(void, ApplicationBasicCluster, readApplicationStatusAttribute)
onFailure.release();
}
+JNI_METHOD(void, ApplicationBasicCluster, readAttributeListAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::ApplicationBasic::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::ApplicationBasicCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, ApplicationBasicCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -717,6 +864,44 @@ JNI_METHOD(void, ApplicationLauncherCluster, readApplicationIdAttribute)
onFailure.release();
}
+JNI_METHOD(void, ApplicationLauncherCluster, readAttributeListAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::ApplicationLauncher::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::ApplicationLauncherCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, ApplicationLauncherCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -823,6 +1008,41 @@ JNI_METHOD(void, AudioOutputCluster, readCurrentAudioOutputAttribute)
onFailure.release();
}
+JNI_METHOD(void, AudioOutputCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::AudioOutput::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::AudioOutputCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, AudioOutputCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
@@ -997,6 +1217,41 @@ JNI_METHOD(void, BarrierControlCluster, readBarrierPositionAttribute)
onFailure.release();
}
+JNI_METHOD(void, BarrierControlCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::BarrierControl::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BarrierControlCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, BarrierControlCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -1681,6 +1936,41 @@ JNI_METHOD(void, BasicCluster, readUniqueIDAttribute)(JNIEnv * env, jobject self
onFailure.release();
}
+JNI_METHOD(void, BasicCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::Basic::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BasicCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, BasicCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
@@ -1820,13 +2110,15 @@ JNI_METHOD(void, BinaryInputBasicCluster, readStatusFlagsAttribute)(JNIEnv * env
onFailure.release();
}
-JNI_METHOD(void, BinaryInputBasicCluster, readClusterRevisionAttribute)
+JNI_METHOD(void, BinaryInputBasicCluster, readAttributeListAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
- using TypeInfo = chip::app::Clusters::BinaryInputBasic::Attributes::ClusterRevision::TypeInfo;
- std::unique_ptr onSuccess(
- chip::Platform::New(callback, false), chip::Platform::Delete);
+ using TypeInfo = chip::app::Clusters::BinaryInputBasic::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
VerifyOrReturn(onSuccess.get() != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
@@ -1844,7 +2136,7 @@ JNI_METHOD(void, BinaryInputBasicCluster, readClusterRevisionAttribute)
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
- auto successFn = chip::Callback::Callback::FromCancelable(
+ auto successFn = chip::Callback::Callback::FromCancelable(
onSuccess->Cancel());
auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
@@ -1856,10 +2148,11 @@ JNI_METHOD(void, BinaryInputBasicCluster, readClusterRevisionAttribute)
onFailure.release();
}
-JNI_METHOD(void, BindingCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, BinaryInputBasicCluster, readClusterRevisionAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
- using TypeInfo = chip::app::Clusters::Binding::Attributes::ClusterRevision::TypeInfo;
+ using TypeInfo = chip::app::Clusters::BinaryInputBasic::Attributes::ClusterRevision::TypeInfo;
std::unique_ptr onSuccess(
chip::Platform::New(callback, false), chip::Platform::Delete);
VerifyOrReturn(onSuccess.get() != nullptr,
@@ -1872,14 +2165,84 @@ JNI_METHOD(void, BindingCluster, readClusterRevisionAttribute)(JNIEnv * env, job
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
- CHIP_ERROR err = CHIP_NO_ERROR;
- chip::Controller::BindingCluster * cppCluster = reinterpret_cast(clusterPtr);
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BinaryInputBasicCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
VerifyOrReturn(cppCluster != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
- auto successFn =
- chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto successFn = chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, BindingCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::Binding::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BindingCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, BindingCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::Binding::Attributes::ClusterRevision::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false), chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BindingCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
VerifyOrReturn(
@@ -1924,6 +2287,41 @@ JNI_METHOD(void, BooleanStateCluster, readStateValueAttribute)(JNIEnv * env, job
onFailure.release();
}
+JNI_METHOD(void, BooleanStateCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::BooleanState::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BooleanStateCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, BooleanStateCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
@@ -2063,6 +2461,41 @@ JNI_METHOD(void, BridgedActionsCluster, readSetupUrlAttribute)(JNIEnv * env, job
onFailure.release();
}
+JNI_METHOD(void, BridgedActionsCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::BridgedActions::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BridgedActionsCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, BridgedActionsCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -2098,6 +2531,44 @@ JNI_METHOD(void, BridgedActionsCluster, readClusterRevisionAttribute)
onFailure.release();
}
+JNI_METHOD(void, BridgedDeviceBasicCluster, readAttributeListAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::BridgedDeviceBasic::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BridgedDeviceBasicCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, BridgedDeviceBasicCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -3930,6 +4401,41 @@ JNI_METHOD(void, ColorControlCluster, readStartUpColorTemperatureMiredsAttribute
onFailure.release();
}
+JNI_METHOD(void, ColorControlCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::ColorControl::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::ColorControlCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, ColorControlCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
@@ -4041,6 +4547,43 @@ JNI_METHOD(void, ContentLauncherCluster, readSupportedStreamingTypesAttribute)
onFailure.release();
}
+JNI_METHOD(void, ContentLauncherCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::ContentLauncher::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::ContentLauncherCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, ContentLauncherCluster, readClusterRevisionAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
@@ -4217,12 +4760,13 @@ JNI_METHOD(void, DescriptorCluster, readPartsListAttribute)(JNIEnv * env, jobjec
onFailure.release();
}
-JNI_METHOD(void, DescriptorCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, DescriptorCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
- using TypeInfo = chip::app::Clusters::Descriptor::Attributes::ClusterRevision::TypeInfo;
- std::unique_ptr onSuccess(
- chip::Platform::New(callback, false), chip::Platform::Delete);
+ using TypeInfo = chip::app::Clusters::Descriptor::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
VerifyOrReturn(onSuccess.get() != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
@@ -4240,7 +4784,7 @@ JNI_METHOD(void, DescriptorCluster, readClusterRevisionAttribute)(JNIEnv * env,
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
auto successFn =
- chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
VerifyOrReturn(
@@ -4251,12 +4795,12 @@ JNI_METHOD(void, DescriptorCluster, readClusterRevisionAttribute)(JNIEnv * env,
onFailure.release();
}
-JNI_METHOD(void, DoorLockCluster, readActuatorEnabledAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, DescriptorCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
- using TypeInfo = chip::app::Clusters::DoorLock::Attributes::ActuatorEnabled::TypeInfo;
- std::unique_ptr onSuccess(
- chip::Platform::New(callback, false), chip::Platform::Delete);
+ using TypeInfo = chip::app::Clusters::Descriptor::Attributes::ClusterRevision::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false), chip::Platform::Delete);
VerifyOrReturn(onSuccess.get() != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
@@ -4267,14 +4811,14 @@ JNI_METHOD(void, DoorLockCluster, readActuatorEnabledAttribute)(JNIEnv * env, jo
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
- CHIP_ERROR err = CHIP_NO_ERROR;
- chip::Controller::DoorLockCluster * cppCluster = reinterpret_cast(clusterPtr);
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::DescriptorCluster * cppCluster = reinterpret_cast(clusterPtr);
VerifyOrReturn(cppCluster != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
auto successFn =
- chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
VerifyOrReturn(
@@ -4285,12 +4829,13 @@ JNI_METHOD(void, DoorLockCluster, readActuatorEnabledAttribute)(JNIEnv * env, jo
onFailure.release();
}
-JNI_METHOD(void, DoorLockCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, DiagnosticLogsCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
- using TypeInfo = chip::app::Clusters::DoorLock::Attributes::ClusterRevision::TypeInfo;
- std::unique_ptr onSuccess(
- chip::Platform::New(callback, false), chip::Platform::Delete);
+ using TypeInfo = chip::app::Clusters::DiagnosticLogs::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
VerifyOrReturn(onSuccess.get() != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
@@ -4301,14 +4846,14 @@ JNI_METHOD(void, DoorLockCluster, readClusterRevisionAttribute)(JNIEnv * env, jo
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
- CHIP_ERROR err = CHIP_NO_ERROR;
- chip::Controller::DoorLockCluster * cppCluster = reinterpret_cast(clusterPtr);
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::DiagnosticLogsCluster * cppCluster = reinterpret_cast(clusterPtr);
VerifyOrReturn(cppCluster != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
auto successFn =
- chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
VerifyOrReturn(
@@ -4319,13 +4864,12 @@ JNI_METHOD(void, DoorLockCluster, readClusterRevisionAttribute)(JNIEnv * env, jo
onFailure.release();
}
-JNI_METHOD(void, ElectricalMeasurementCluster, readMeasurementTypeAttribute)
-(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, DoorLockCluster, readActuatorEnabledAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
- using TypeInfo = chip::app::Clusters::ElectricalMeasurement::Attributes::MeasurementType::TypeInfo;
- std::unique_ptr onSuccess(
- chip::Platform::New(callback, false), chip::Platform::Delete);
+ using TypeInfo = chip::app::Clusters::DoorLock::Attributes::ActuatorEnabled::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false), chip::Platform::Delete);
VerifyOrReturn(onSuccess.get() != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
@@ -4336,15 +4880,119 @@ JNI_METHOD(void, ElectricalMeasurementCluster, readMeasurementTypeAttribute)
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
- CHIP_ERROR err = CHIP_NO_ERROR;
- chip::Controller::ElectricalMeasurementCluster * cppCluster =
- reinterpret_cast(clusterPtr);
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::DoorLockCluster * cppCluster = reinterpret_cast(clusterPtr);
VerifyOrReturn(cppCluster != nullptr,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
- auto successFn = chip::Callback::Callback::FromCancelable(
- onSuccess->Cancel());
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, DoorLockCluster, readAttributeListAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::DoorLock::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::DoorLockCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, DoorLockCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::DoorLock::Attributes::ClusterRevision::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false), chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::DoorLockCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn =
+ chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, ElectricalMeasurementCluster, readMeasurementTypeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::ElectricalMeasurement::Attributes::MeasurementType::TypeInfo;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false), chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::ElectricalMeasurementCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
err = cppCluster->ReadAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall);
VerifyOrReturn(
@@ -4716,6 +5364,44 @@ JNI_METHOD(void, ElectricalMeasurementCluster, readActivePowerMaxAttribute)
onFailure.release();
}
+JNI_METHOD(void, ElectricalMeasurementCluster, readAttributeListAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ using TypeInfo = chip::app::Clusters::ElectricalMeasurement::Attributes::AttributeList::TypeInfo;
+ std::unique_ptr
+ onSuccess(chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::ElectricalMeasurementCluster * cppCluster =
+ reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(
+ onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+ err = cppCluster->ReadAttribute