@@ -25030,6 +25030,9 @@ public static class GroupcastCluster extends BaseChipCluster {
2503025030
2503125031 private static final long MEMBERSHIP_ATTRIBUTE_ID = 0L;
2503225032 private static final long MAX_MEMBERSHIP_COUNT_ATTRIBUTE_ID = 1L;
25033+ private static final long MAX_MCAST_ADDR_COUNT_ATTRIBUTE_ID = 2L;
25034+ private static final long USED_MCAST_ADDR_COUNT_ATTRIBUTE_ID = 3L;
25035+ private static final long FABRIC_UNDER_TEST_ATTRIBUTE_ID = 4L;
2503325036 private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L;
2503425037 private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L;
2503525038 private static final long ATTRIBUTE_LIST_ATTRIBUTE_ID = 65531L;
@@ -25046,11 +25049,11 @@ public long initWithDevice(long devicePtr, int endpointId) {
2504625049 return 0L;
2504725050 }
2504825051
25049- public void joinGroup(DefaultClusterCallback callback, Integer groupID, ArrayList<Integer> endpoints, Integer keySetID, Optional<byte[]> key, Optional<Boolean> useAuxiliaryACL, Optional<Boolean> replaceEndpoints) {
25050- joinGroup(callback, groupID, endpoints, keySetID, key, useAuxiliaryACL, replaceEndpoints, 0);
25052+ public void joinGroup(DefaultClusterCallback callback, Integer groupID, ArrayList<Integer> endpoints, Integer keySetID, Optional<byte[]> key, Optional<Boolean> useAuxiliaryACL, Optional<Boolean> replaceEndpoints, Optional<Integer> mcastAddrPolicy ) {
25053+ joinGroup(callback, groupID, endpoints, keySetID, key, useAuxiliaryACL, replaceEndpoints, mcastAddrPolicy, 0);
2505125054 }
2505225055
25053- public void joinGroup(DefaultClusterCallback callback, Integer groupID, ArrayList<Integer> endpoints, Integer keySetID, Optional<byte[]> key, Optional<Boolean> useAuxiliaryACL, Optional<Boolean> replaceEndpoints, int timedInvokeTimeoutMs) {
25056+ public void joinGroup(DefaultClusterCallback callback, Integer groupID, ArrayList<Integer> endpoints, Integer keySetID, Optional<byte[]> key, Optional<Boolean> useAuxiliaryACL, Optional<Boolean> replaceEndpoints, Optional<Integer> mcastAddrPolicy, int timedInvokeTimeoutMs) {
2505425057 final long commandId = 0L;
2505525058
2505625059 ArrayList<StructElement> elements = new ArrayList<>();
@@ -25078,6 +25081,10 @@ public void joinGroup(DefaultClusterCallback callback, Integer groupID, ArrayLis
2507825081 BaseTLVType replaceEndpointstlvValue = replaceEndpoints.<BaseTLVType>map((nonOptionalreplaceEndpoints) -> new BooleanType(nonOptionalreplaceEndpoints)).orElse(new EmptyType());
2507925082 elements.add(new StructElement(replaceEndpointsFieldID, replaceEndpointstlvValue));
2508025083
25084+ final long mcastAddrPolicyFieldID = 6L;
25085+ BaseTLVType mcastAddrPolicytlvValue = mcastAddrPolicy.<BaseTLVType>map((nonOptionalmcastAddrPolicy) -> new UIntType(nonOptionalmcastAddrPolicy)).orElse(new EmptyType());
25086+ elements.add(new StructElement(mcastAddrPolicyFieldID, mcastAddrPolicytlvValue));
25087+
2508125088 StructType commandArgs = new StructType(elements);
2508225089 invoke(new InvokeCallbackImpl(callback) {
2508325090 @Override
@@ -25179,6 +25186,30 @@ public void onResponse(StructType invokeStructValue) {
2517925186 }}, commandId, commandArgs, timedInvokeTimeoutMs);
2518025187 }
2518125188
25189+ public void groupcastTesting(DefaultClusterCallback callback, Integer testOperation, Optional<Integer> durationSeconds) {
25190+ groupcastTesting(callback, testOperation, durationSeconds, 0);
25191+ }
25192+
25193+ public void groupcastTesting(DefaultClusterCallback callback, Integer testOperation, Optional<Integer> durationSeconds, int timedInvokeTimeoutMs) {
25194+ final long commandId = 5L;
25195+
25196+ ArrayList<StructElement> elements = new ArrayList<>();
25197+ final long testOperationFieldID = 0L;
25198+ BaseTLVType testOperationtlvValue = new UIntType(testOperation);
25199+ elements.add(new StructElement(testOperationFieldID, testOperationtlvValue));
25200+
25201+ final long durationSecondsFieldID = 1L;
25202+ BaseTLVType durationSecondstlvValue = durationSeconds.<BaseTLVType>map((nonOptionaldurationSeconds) -> new UIntType(nonOptionaldurationSeconds)).orElse(new EmptyType());
25203+ elements.add(new StructElement(durationSecondsFieldID, durationSecondstlvValue));
25204+
25205+ StructType commandArgs = new StructType(elements);
25206+ invoke(new InvokeCallbackImpl(callback) {
25207+ @Override
25208+ public void onResponse(StructType invokeStructValue) {
25209+ callback.onSuccess();
25210+ }}, commandId, commandArgs, timedInvokeTimeoutMs);
25211+ }
25212+
2518225213 public interface LeaveGroupResponseCallback extends BaseClusterCallback {
2518325214 void onSuccess(Integer groupID, ArrayList<Integer> endpoints);
2518425215 }
@@ -25256,6 +25287,84 @@ public void onSuccess(byte[] tlv) {
2525625287 }, MAX_MEMBERSHIP_COUNT_ATTRIBUTE_ID, minInterval, maxInterval);
2525725288 }
2525825289
25290+ public void readMaxMcastAddrCountAttribute(
25291+ IntegerAttributeCallback callback) {
25292+ ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_MCAST_ADDR_COUNT_ATTRIBUTE_ID);
25293+
25294+ readAttribute(new ReportCallbackImpl(callback, path) {
25295+ @Override
25296+ public void onSuccess(byte[] tlv) {
25297+ Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
25298+ callback.onSuccess(value);
25299+ }
25300+ }, MAX_MCAST_ADDR_COUNT_ATTRIBUTE_ID, true);
25301+ }
25302+
25303+ public void subscribeMaxMcastAddrCountAttribute(
25304+ IntegerAttributeCallback callback, int minInterval, int maxInterval) {
25305+ ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_MCAST_ADDR_COUNT_ATTRIBUTE_ID);
25306+
25307+ subscribeAttribute(new ReportCallbackImpl(callback, path) {
25308+ @Override
25309+ public void onSuccess(byte[] tlv) {
25310+ Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
25311+ callback.onSuccess(value);
25312+ }
25313+ }, MAX_MCAST_ADDR_COUNT_ATTRIBUTE_ID, minInterval, maxInterval);
25314+ }
25315+
25316+ public void readUsedMcastAddrCountAttribute(
25317+ IntegerAttributeCallback callback) {
25318+ ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, USED_MCAST_ADDR_COUNT_ATTRIBUTE_ID);
25319+
25320+ readAttribute(new ReportCallbackImpl(callback, path) {
25321+ @Override
25322+ public void onSuccess(byte[] tlv) {
25323+ Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
25324+ callback.onSuccess(value);
25325+ }
25326+ }, USED_MCAST_ADDR_COUNT_ATTRIBUTE_ID, true);
25327+ }
25328+
25329+ public void subscribeUsedMcastAddrCountAttribute(
25330+ IntegerAttributeCallback callback, int minInterval, int maxInterval) {
25331+ ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, USED_MCAST_ADDR_COUNT_ATTRIBUTE_ID);
25332+
25333+ subscribeAttribute(new ReportCallbackImpl(callback, path) {
25334+ @Override
25335+ public void onSuccess(byte[] tlv) {
25336+ Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
25337+ callback.onSuccess(value);
25338+ }
25339+ }, USED_MCAST_ADDR_COUNT_ATTRIBUTE_ID, minInterval, maxInterval);
25340+ }
25341+
25342+ public void readFabricUnderTestAttribute(
25343+ IntegerAttributeCallback callback) {
25344+ ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FABRIC_UNDER_TEST_ATTRIBUTE_ID);
25345+
25346+ readAttribute(new ReportCallbackImpl(callback, path) {
25347+ @Override
25348+ public void onSuccess(byte[] tlv) {
25349+ Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
25350+ callback.onSuccess(value);
25351+ }
25352+ }, FABRIC_UNDER_TEST_ATTRIBUTE_ID, true);
25353+ }
25354+
25355+ public void subscribeFabricUnderTestAttribute(
25356+ IntegerAttributeCallback callback, int minInterval, int maxInterval) {
25357+ ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, FABRIC_UNDER_TEST_ATTRIBUTE_ID);
25358+
25359+ subscribeAttribute(new ReportCallbackImpl(callback, path) {
25360+ @Override
25361+ public void onSuccess(byte[] tlv) {
25362+ Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
25363+ callback.onSuccess(value);
25364+ }
25365+ }, FABRIC_UNDER_TEST_ATTRIBUTE_ID, minInterval, maxInterval);
25366+ }
25367+
2525925368 public void readGeneratedCommandListAttribute(
2526025369 GeneratedCommandListAttributeCallback callback) {
2526125370 ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, GENERATED_COMMAND_LIST_ATTRIBUTE_ID);
0 commit comments