| /* |
| * |
| * Copyright (c) 2023 Project CHIP Authors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package chip.devicecontroller; |
| |
| import chip.clusterinfo.CommandParameterInfo; |
| import chip.clusterinfo.InteractionInfo; |
| import java.util.HashMap; |
| import java.util.LinkedHashMap; |
| import java.util.Map; |
| |
| public class ClusterReadMapping { |
| |
| |
| private static Map<String, InteractionInfo> readFirstInteractionInfo() { |
| Map<String, InteractionInfo> result = new LinkedHashMap<>();Map<String, CommandParameterInfo> readFirstSomeIntegerCommandParams = new LinkedHashMap<String, CommandParameterInfo>(); |
| InteractionInfo readFirstSomeIntegerAttributeInteractionInfo = new InteractionInfo( |
| (cluster, callback, commandArguments) -> { |
| ((ChipClusters.FirstCluster) cluster).readSomeIntegerAttribute( |
| (ChipClusters.IntegerAttributeCallback) callback |
| ); |
| }, |
| () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), |
| readFirstSomeIntegerCommandParams |
| ); |
| result.put("readSomeIntegerAttribute", readFirstSomeIntegerAttributeInteractionInfo); |
| |
| return result; |
| } |
| private static Map<String, InteractionInfo> readSecondInteractionInfo() { |
| Map<String, InteractionInfo> result = new LinkedHashMap<>();Map<String, CommandParameterInfo> readSecondSomeBytesCommandParams = new LinkedHashMap<String, CommandParameterInfo>(); |
| InteractionInfo readSecondSomeBytesAttributeInteractionInfo = new InteractionInfo( |
| (cluster, callback, commandArguments) -> { |
| ((ChipClusters.SecondCluster) cluster).readSomeBytesAttribute( |
| (ChipClusters.OctetStringAttributeCallback) callback |
| ); |
| }, |
| () -> new ClusterInfoMapping.DelegatedOctetStringAttributeCallback(), |
| readSecondSomeBytesCommandParams |
| ); |
| result.put("readSomeBytesAttribute", readSecondSomeBytesAttributeInteractionInfo); |
| |
| return result; |
| } |
| private static Map<String, InteractionInfo> readThirdInteractionInfo() { |
| Map<String, InteractionInfo> result = new LinkedHashMap<>();Map<String, CommandParameterInfo> readThirdSomeEnumCommandParams = new LinkedHashMap<String, CommandParameterInfo>(); |
| InteractionInfo readThirdSomeEnumAttributeInteractionInfo = new InteractionInfo( |
| (cluster, callback, commandArguments) -> { |
| ((ChipClusters.ThirdCluster) cluster).readSomeEnumAttribute( |
| (ChipClusters.IntegerAttributeCallback) callback |
| ); |
| }, |
| () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), |
| readThirdSomeEnumCommandParams |
| ); |
| result.put("readSomeEnumAttribute", readThirdSomeEnumAttributeInteractionInfo); |
| Map<String, CommandParameterInfo> readThirdOptionsCommandParams = new LinkedHashMap<String, CommandParameterInfo>(); |
| InteractionInfo readThirdOptionsAttributeInteractionInfo = new InteractionInfo( |
| (cluster, callback, commandArguments) -> { |
| ((ChipClusters.ThirdCluster) cluster).readOptionsAttribute( |
| (ChipClusters.IntegerAttributeCallback) callback |
| ); |
| }, |
| () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), |
| readThirdOptionsCommandParams |
| ); |
| result.put("readOptionsAttribute", readThirdOptionsAttributeInteractionInfo); |
| |
| return result; |
| } |
| @SuppressWarnings("serial") |
| public Map<String, Map<String, InteractionInfo>> getReadAttributeMap() { |
| |
| return new HashMap<String, Map<String, InteractionInfo>>(){{ |
| put("first", readFirstInteractionInfo()); |
| put("second", readSecondInteractionInfo()); |
| put("third", readThirdInteractionInfo());}}; |
| } |
| } |
| |