From 36fe335656bebe15554cc9cb4ca412f3b02f320f Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Mon, 17 May 2021 18:12:17 -0400 Subject: [PATCH] Remove some objc files that should not exist There was a merge conflict that was not detected by automatic merge between https://github.com/project-chip/connectedhomeip/pull/6822 and https://github.com/project-chip/connectedhomeip/pull/6804 that caused files removed by the former to be re-created by the latter. Those files should not exist. --- examples/chip-tool/gen/CHIPClustersObjc.h | 933 - examples/chip-tool/gen/CHIPClustersObjc.mm | 13473 --------------- src/controller/python/gen/CHIPClustersObjc.h | 999 -- src/controller/python/gen/CHIPClustersObjc.mm | 14317 ---------------- 4 files changed, 29722 deletions(-) delete mode 100644 examples/chip-tool/gen/CHIPClustersObjc.h delete mode 100644 examples/chip-tool/gen/CHIPClustersObjc.mm delete mode 100644 src/controller/python/gen/CHIPClustersObjc.h delete mode 100644 src/controller/python/gen/CHIPClustersObjc.mm diff --git a/examples/chip-tool/gen/CHIPClustersObjc.h b/examples/chip-tool/gen/CHIPClustersObjc.h deleted file mode 100644 index bf57578f5b01dc..00000000000000 --- a/examples/chip-tool/gen/CHIPClustersObjc.h +++ /dev/null @@ -1,933 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -// THIS FILE IS GENERATED BY ZAP - -#ifndef CHIP_CLUSTERS_H -#define CHIP_CLUSTERS_H - -#import - -@class CHIPDevice; - -typedef void (^ResponseHandler)(NSError * _Nullable error, NSDictionary * _Nullable values); - -NS_ASSUME_NONNULL_BEGIN - -/** - * CHIPCluster - * This is the base class for clusters. - */ -@interface CHIPCluster : NSObject - -- (nullable instancetype)initWithDevice:(CHIPDevice *)device - endpoint:(uint8_t)endpoint - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER; -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)new NS_UNAVAILABLE; - -@end - -/** - * Cluster Account Login - * - */ -@interface CHIPAccountLogin : CHIPCluster - -- (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseHandler)responseHandler; -- (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Application Basic - * - */ -@interface CHIPApplicationBasic : CHIPCluster - -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeApplicationNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeApplicationSatusWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Application Launcher - * - */ -@interface CHIPApplicationLauncher : CHIPCluster - -- (void)launchApp:(NSString *)data - catalogVendorId:(uint16_t)catalogVendorId - applicationId:(NSString *)applicationId - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeApplicationLauncherListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Audio Output - * - */ -@interface CHIPAudioOutput : CHIPCluster - -- (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler; -- (void)selectOutput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeAudioOutputListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Barrier Control - * - */ -@interface CHIPBarrierControl : CHIPCluster - -- (void)barrierControlGoToPercent:(uint8_t)percentOpen responseHandler:(ResponseHandler)responseHandler; -- (void)barrierControlStop:(ResponseHandler)responseHandler; - -- (void)readAttributeBarrierMovingStateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBarrierSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBarrierCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBarrierPositionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Basic - * - */ -@interface CHIPBasic : CHIPCluster - -- (void)mfgSpecificPing:(ResponseHandler)responseHandler; - -- (void)readAttributeInteractionModelVersionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeLocalConfigDisabledWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeLocalConfigDisabledWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Binding - * - */ -@interface CHIPBinding : CHIPCluster - -- (void)bind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler; -- (void)unbind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Color Control - * - */ -@interface CHIPColorControl : CHIPCluster - -- (void)moveColor:(int16_t)rateX - rateY:(int16_t)rateY - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveColorTemperature:(uint8_t)moveMode - rate:(uint16_t)rate - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveHue:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveSaturation:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToColor:(uint16_t)colorX - colorY:(uint16_t)colorY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToColorTemperature:(uint16_t)colorTemperature - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToHue:(uint8_t)hue - direction:(uint8_t)direction - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToHueAndSaturation:(uint8_t)hue - saturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToSaturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepColor:(int16_t)stepX - stepY:(int16_t)stepY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepColorTemperature:(uint8_t)stepMode - stepSize:(uint16_t)stepSize - transitionTime:(uint16_t)transitionTime - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepHue:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepSaturation:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stopMoveStep:(uint8_t)optionsMask optionsOverride:(uint8_t)optionsOverride responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentHueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeRemainingTimeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentXWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentYWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeDriftCompensationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCompensationTextWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorControlOptionsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorControlOptionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeNumberOfPrimariesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary1XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary1YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary1IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary2XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary2YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary2IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary3XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary3YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary3IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary4XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary4YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary4IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary5XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary5YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary5IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary6XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary6YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary6IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeWhitePointXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeWhitePointXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeWhitePointYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeWhitePointYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointRXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointRXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointRYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointRYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointRIntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointRIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointGXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointGXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointGYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointGYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointGIntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointGIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointBXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointBXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointBYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointBYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointBIntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointBIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnhancedCurrentHueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnhancedColorModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorLoopActiveWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorLoopDirectionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorLoopTimeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorTempPhysicalMinWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorTempPhysicalMaxWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeStartUpColorTemperatureMiredsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Content Launch - * - */ -@interface CHIPContentLaunch : CHIPCluster - -- (void)launchContent:(uint8_t)autoPlay data:(NSString *)data responseHandler:(ResponseHandler)responseHandler; -- (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeAcceptsHeaderListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSupportedStreamingTypesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Descriptor - * - */ -@interface CHIPDescriptor : CHIPCluster - -- (void)readAttributeDeviceListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeServerListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClientListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePartsListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Door Lock - * - */ -@interface CHIPDoorLock : CHIPCluster - -- (void)clearAllPins:(ResponseHandler)responseHandler; -- (void)clearAllRfids:(ResponseHandler)responseHandler; -- (void)clearHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler; -- (void)clearPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)clearRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler; -- (void)getLogRecord:(uint16_t)logIndex responseHandler:(ResponseHandler)responseHandler; -- (void)getPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getUserType:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)lockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler; -- (void)setHolidaySchedule:(uint8_t)scheduleId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday - responseHandler:(ResponseHandler)responseHandler; -- (void)setPin:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - pin:(NSString *)pin - responseHandler:(ResponseHandler)responseHandler; -- (void)setRfid:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - id:(NSString *)id - responseHandler:(ResponseHandler)responseHandler; -- (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler:(ResponseHandler)responseHandler; -- (void)setWeekdaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - daysMask:(uint8_t)daysMask - startHour:(uint8_t)startHour - startMinute:(uint8_t)startMinute - endHour:(uint8_t)endHour - endMinute:(uint8_t)endMinute - responseHandler:(ResponseHandler)responseHandler; -- (void)setYeardaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - responseHandler:(ResponseHandler)responseHandler; -- (void)unlockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler; -- (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeLockStateWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeLockTypeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeActuatorEnabledWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster General Commissioning - * - */ -@interface CHIPGeneralCommissioning : CHIPCluster - -- (void)armFailSafe:(uint16_t)expiryLengthSeconds - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)commissioningComplete:(ResponseHandler)responseHandler; -- (void)setRegulatoryConfig:(uint8_t)location - countryCode:(NSString *)countryCode - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeFabricIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBreadcrumbWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBreadcrumbWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster General Diagnostics - * - */ -@interface CHIPGeneralDiagnostics : CHIPCluster - -- (void)readAttributeNetworkInterfacesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeRebootCountWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Group Key Management - * - */ -@interface CHIPGroupKeyManagement : CHIPCluster - -- (void)readAttributeGroupsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeGroupKeysWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Groups - * - */ -@interface CHIPGroups : CHIPCluster - -- (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler; -- (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler; -- (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList responseHandler:(ResponseHandler)responseHandler; -- (void)removeAllGroups:(ResponseHandler)responseHandler; -- (void)removeGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; -- (void)viewGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Identify - * - */ -@interface CHIPIdentify : CHIPCluster - -- (void)identify:(uint16_t)identifyTime responseHandler:(ResponseHandler)responseHandler; -- (void)identifyQuery:(ResponseHandler)responseHandler; - -- (void)readAttributeIdentifyTimeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeIdentifyTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Keypad Input - * - */ -@interface CHIPKeypadInput : CHIPCluster - -- (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Level Control - * - */ -@interface CHIPLevelControl : CHIPCluster - -- (void)move:(uint8_t)moveMode - rate:(uint8_t)rate - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToLevel:(uint8_t)level - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToLevelWithOnOff:(uint8_t)level - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler; -- (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler; -- (void)step:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepWithOnOff:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler; -- (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride responseHandler:(ResponseHandler)responseHandler; -- (void)stopWithOnOff:(ResponseHandler)responseHandler; - -- (void)readAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Low Power - * - */ -@interface CHIPLowPower : CHIPCluster - -- (void)sleep:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Media Input - * - */ -@interface CHIPMediaInput : CHIPCluster - -- (void)hideInputStatus:(ResponseHandler)responseHandler; -- (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler; -- (void)selectInput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler; -- (void)showInputStatus:(ResponseHandler)responseHandler; - -- (void)readAttributeMediaInputListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Media Playback - * - */ -@interface CHIPMediaPlayback : CHIPCluster - -- (void)mediaFastForward:(ResponseHandler)responseHandler; -- (void)mediaNext:(ResponseHandler)responseHandler; -- (void)mediaPause:(ResponseHandler)responseHandler; -- (void)mediaPlay:(ResponseHandler)responseHandler; -- (void)mediaPrevious:(ResponseHandler)responseHandler; -- (void)mediaRewind:(ResponseHandler)responseHandler; -- (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler; -- (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler; -- (void)mediaSkipSeek:(uint64_t)position responseHandler:(ResponseHandler)responseHandler; -- (void)mediaStartOver:(ResponseHandler)responseHandler; -- (void)mediaStop:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Network Commissioning - * - */ -@interface CHIPNetworkCommissioning : CHIPCluster - -- (void)addThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)addWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)disableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)enableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs responseHandler:(ResponseHandler)responseHandler; -- (void)removeNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)scanNetworks:(NSData *)ssid - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)updateThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)updateWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster On/off - * - */ -@interface CHIPOnOff : CHIPCluster - -- (void)off:(ResponseHandler)responseHandler; -- (void)on:(ResponseHandler)responseHandler; -- (void)toggle:(ResponseHandler)responseHandler; - -- (void)readAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeOnOffWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Operational Credentials - * - */ -@interface CHIPOperationalCredentials : CHIPCluster - -- (void)removeAllFabrics:(ResponseHandler)responseHandler; -- (void)removeFabric:(uint64_t)fabricId - nodeId:(uint64_t)nodeId - vendorId:(uint16_t)vendorId - responseHandler:(ResponseHandler)responseHandler; -- (void)setFabric:(uint16_t)vendorId responseHandler:(ResponseHandler)responseHandler; -- (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeFabricsListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Pump Configuration and Control - * - */ -@interface CHIPPumpConfigurationAndControl : CHIPCluster - -- (void)readAttributeMaxPressureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMaxSpeedWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMaxFlowWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEffectiveOperationModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEffectiveControlModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCapacityWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOperationModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Scenes - * - */ -@interface CHIPScenes : CHIPCluster - -- (void)addScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - sceneName:(NSString *)sceneName - clusterId:(uint16_t)clusterId - length:(uint8_t)length - value:(uint8_t)value - responseHandler:(ResponseHandler)responseHandler; -- (void)getSceneMembership:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; -- (void)recallScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler; -- (void)removeAllScenes:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; -- (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler; -- (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler; -- (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeSceneCountWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentSceneWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentGroupWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSceneValidWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Switch - * - */ -@interface CHIPSwitch : CHIPCluster - -- (void)readAttributeNumberOfPositionsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster TV Channel - * - */ -@interface CHIPTvChannel : CHIPCluster - -- (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)responseHandler; -- (void)changeChannelByNumber:(uint16_t)majorNumber - minorNumber:(uint16_t)minorNumber - responseHandler:(ResponseHandler)responseHandler; -- (void)skipChannel:(uint16_t)count responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeTvChannelListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeTvChannelLineupWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentTvChannelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Target Navigator - * - */ -@interface CHIPTargetNavigator : CHIPCluster - -- (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeTargetNavigatorListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Temperature Measurement - * - */ -@interface CHIPTemperatureMeasurement : CHIPCluster - -- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Test Cluster - * - */ -@interface CHIPTestCluster : CHIPCluster - -- (void)test:(ResponseHandler)responseHandler; -- (void)testNotHandled:(ResponseHandler)responseHandler; -- (void)testSpecific:(ResponseHandler)responseHandler; - -- (void)readAttributeBooleanWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBooleanWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap8WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap16WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap32WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap32WithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap64WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap64WithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt8uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt8uWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt16uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt16uWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt32uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt32uWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt64uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt64uWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt8sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt8sWithValue:(int8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt16sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt16sWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt32sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt32sWithValue:(int32_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt64sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt64sWithValue:(int64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnum8WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnum16WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOctetStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeListInt8uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeListOctetStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeListStructOctetStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Thermostat - * - */ -@interface CHIPThermostat : CHIPCluster - -- (void)clearWeeklySchedule:(ResponseHandler)responseHandler; -- (void)getRelayStatusLog:(ResponseHandler)responseHandler; -- (void)getWeeklySchedule:(uint8_t)daysToReturn modeToReturn:(uint8_t)modeToReturn responseHandler:(ResponseHandler)responseHandler; -- (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence - dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence - modeForSequence:(uint8_t)modeForSequence - payload:(uint8_t)payload - responseHandler:(ResponseHandler)responseHandler; -- (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOccupiedCoolingSetpointWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOccupiedCoolingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOccupiedHeatingSetpointWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOccupiedHeatingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeControlSequenceOfOperationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSystemModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Wake on LAN - * - */ -@interface CHIPWakeOnLan : CHIPCluster - -- (void)readAttributeWakeOnLanMacAddressWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -NS_ASSUME_NONNULL_END - -#endif /* CHIP_CLUSTERS_H */ diff --git a/examples/chip-tool/gen/CHIPClustersObjc.mm b/examples/chip-tool/gen/CHIPClustersObjc.mm deleted file mode 100644 index 9666ed00e9c0e9..00000000000000 --- a/examples/chip-tool/gen/CHIPClustersObjc.mm +++ /dev/null @@ -1,13473 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -// THIS FILE IS GENERATED BY ZAP - -#import - -#import "CHIPDevice.h" -#import "CHIPDevice_Internal.h" -#import "CHIPError.h" -#import "app/util/af.h" -#import "gen/CHIPClientCallbacks.h" -#import "gen/CHIPClusters.h" -#import "gen/CHIPClustersObjc.h" - -#include -#include - -using namespace ::chip; - -class CHIPDefaultSuccessCallbackBridge : public Callback::Callback { -public: - CHIPDefaultSuccessCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDefaultSuccessCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDefaultSuccessCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, nil); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDefaultFailureCallbackBridge : public Callback::Callback { -public: - CHIPDefaultFailureCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDefaultFailureCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t status) - { - CHIPDefaultFailureCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - NSError * error = [CHIPError errorForCHIPErrorCode:status]; - callback->mHandler(error, nil); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPStringAttributeCallbackBridge : public Callback::Callback { -public: - CHIPStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool octetString, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mOctetString(octetString) - , mKeepAlive(keepAlive) - { - } - - ~CHIPStringAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, chip::ByteSpan value) - { - NSData * data = [NSData dataWithBytes:value.data() length:value.size()]; - - CHIPStringAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - if (callback->mOctetString) { - callback->mHandler(nil, @ { @"value" : data }); - } else { - NSString * str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - callback->mHandler(nil, @ { @"value" : str }); - } - - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mOctetString; - bool mKeepAlive; -}; - -class CHIPBooleanAttributeCallbackBridge : public Callback::Callback { -public: - CHIPBooleanAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPBooleanAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, bool value) - { - CHIPBooleanAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithBool:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt8uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt8uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt8uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t value) - { - CHIPInt8uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedChar:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt8sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt8sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt8sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int8_t value) - { - CHIPInt8sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithChar:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt16uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt16uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt16uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t value) - { - CHIPInt16uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedShort:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt16sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt16sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt16sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int16_t value) - { - CHIPInt16sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithShort:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt32uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt32uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt32uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint32_t value) - { - CHIPInt32uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt32sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt32sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt32sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int32_t value) - { - CHIPInt32sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt64uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt64uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt64uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint64_t value) - { - CHIPInt64uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedLongLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt64sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt64sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt64sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int64_t value) - { - CHIPInt64sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithLongLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge - : public Callback::Callback { -public: - CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * setupPIN) - { - CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"setupPIN" : [NSString stringWithFormat:@"%s", setupPIN], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge - : public Callback::Callback { -public: - CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data) - { - CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPContentLaunchClusterLaunchContentResponseCallbackBridge - : public Callback::Callback { -public: - CHIPContentLaunchClusterLaunchContentResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPContentLaunchClusterLaunchContentResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) - { - CHIPContentLaunchClusterLaunchContentResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - @"contentLaunchStatus" : [NSNumber numberWithUnsignedChar:contentLaunchStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPContentLaunchClusterLaunchURLResponseCallbackBridge - : public Callback::Callback { -public: - CHIPContentLaunchClusterLaunchURLResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPContentLaunchClusterLaunchURLResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) - { - CHIPContentLaunchClusterLaunchURLResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - @"contentLaunchStatus" : [NSNumber numberWithUnsignedChar:contentLaunchStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearAllPinsResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearAllPinsResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearAllPinsResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearAllPinsResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearPinResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterClearPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearPinResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearPinResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearRfidResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterClearRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearRfidResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearRfidResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge() {}; - - static void CallbackFn( - void * context, uint8_t scheduleId, uint32_t localStartTime, uint32_t localEndTime, uint8_t operatingModeDuringHoliday) - { - CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"scheduleId" : [NSNumber numberWithUnsignedChar:scheduleId], - @"localStartTime" : [NSNumber numberWithUnsignedLong:localStartTime], - @"localEndTime" : [NSNumber numberWithUnsignedLong:localEndTime], - @"operatingModeDuringHoliday" : [NSNumber numberWithUnsignedChar:operatingModeDuringHoliday], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetLogRecordResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetLogRecordResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetLogRecordResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t logEntryId, uint32_t timestamp, uint8_t eventType, uint8_t source, - uint8_t eventIdOrAlarmCode, uint16_t userId, uint8_t * pin) - { - CHIPDoorLockClusterGetLogRecordResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"logEntryId" : [NSNumber numberWithUnsignedShort:logEntryId], - @"timestamp" : [NSNumber numberWithUnsignedLong:timestamp], - @"eventType" : [NSNumber numberWithUnsignedChar:eventType], - @"source" : [NSNumber numberWithUnsignedChar:source], - @"eventIdOrAlarmCode" : [NSNumber numberWithUnsignedChar:eventIdOrAlarmCode], - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"pin" : [NSString stringWithFormat:@"%s", pin], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetPinResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterGetPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetPinResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t userId, uint8_t userStatus, uint8_t userType, uint8_t * pin) - { - CHIPDoorLockClusterGetPinResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"userStatus" : [NSNumber numberWithUnsignedChar:userStatus], - @"userType" : [NSNumber numberWithUnsignedChar:userType], - @"pin" : [NSString stringWithFormat:@"%s", pin], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetRfidResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterGetRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetRfidResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t userId, uint8_t userStatus, uint8_t userType, uint8_t * rfid) - { - CHIPDoorLockClusterGetRfidResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"userStatus" : [NSNumber numberWithUnsignedChar:userStatus], - @"userType" : [NSNumber numberWithUnsignedChar:userType], - @"rfid" : [NSString stringWithFormat:@"%s", rfid], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetUserTypeResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterGetUserTypeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetUserTypeResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t userId, uint8_t userType) - { - CHIPDoorLockClusterGetUserTypeResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"userType" : [NSNumber numberWithUnsignedChar:userType], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t scheduleId, uint16_t userId, uint8_t daysMask, uint8_t startHour, - uint8_t startMinute, uint8_t endHour, uint8_t endMinute) - { - CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"scheduleId" : [NSNumber numberWithUnsignedChar:scheduleId], - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"daysMask" : [NSNumber numberWithUnsignedChar:daysMask], - @"startHour" : [NSNumber numberWithUnsignedChar:startHour], - @"startMinute" : [NSNumber numberWithUnsignedChar:startMinute], - @"endHour" : [NSNumber numberWithUnsignedChar:endHour], - @"endMinute" : [NSNumber numberWithUnsignedChar:endMinute], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t scheduleId, uint16_t userId, uint32_t localStartTime, uint32_t localEndTime) - { - CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"scheduleId" : [NSNumber numberWithUnsignedChar:scheduleId], - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"localStartTime" : [NSNumber numberWithUnsignedLong:localStartTime], - @"localEndTime" : [NSNumber numberWithUnsignedLong:localEndTime], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterLockDoorResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterLockDoorResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterLockDoorResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterLockDoorResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetPinResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterSetPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetPinResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetPinResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetRfidResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterSetRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetRfidResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetRfidResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetUserTypeResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterSetUserTypeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetUserTypeResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetUserTypeResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterUnlockDoorResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterUnlockDoorResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterUnlockDoorResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterUnlockDoorResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterAddGroupResponseCallbackBridge : public Callback::Callback { -public: - CHIPGroupsClusterAddGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterAddGroupResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId) - { - CHIPGroupsClusterAddGroupResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge() {}; - - static void CallbackFn( - void * context, uint8_t capacity, uint8_t groupCount, /* TYPE WARNING: array array defaults to */ uint8_t * groupList) - { - CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"capacity" : [NSNumber numberWithUnsignedChar:capacity], - @"groupCount" : [NSNumber numberWithUnsignedChar:groupCount], - // groupList: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterRemoveGroupResponseCallbackBridge : public Callback::Callback { -public: - CHIPGroupsClusterRemoveGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterRemoveGroupResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId) - { - CHIPGroupsClusterRemoveGroupResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterViewGroupResponseCallbackBridge : public Callback::Callback { -public: - CHIPGroupsClusterViewGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterViewGroupResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t * groupName) - { - CHIPGroupsClusterViewGroupResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"groupName" : [NSString stringWithFormat:@"%s", groupName], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge - : public Callback::Callback { -public: - CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t timeout) - { - CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"timeout" : [NSNumber numberWithUnsignedShort:timeout], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPKeypadInputClusterSendKeyResponseCallbackBridge : public Callback::Callback { -public: - CHIPKeypadInputClusterSendKeyResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPKeypadInputClusterSendKeyResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPKeypadInputClusterSendKeyResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText, - /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults, - /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults) - { - CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - // wifiScanResults: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - // threadScanResults: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge - : public Callback::Callback { -public: - CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge() {}; - - static void CallbackFn(void * context, chip::FabricId FabricId) - { - CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"FabricId" : [NSNumber numberWithUnsignedLongLong:FabricId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterAddSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterAddSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterAddSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) - { - CHIPScenesClusterAddSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterGetSceneMembershipResponseCallbackBridge - : public Callback::Callback { -public: - CHIPScenesClusterGetSceneMembershipResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterGetSceneMembershipResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t capacity, uint16_t groupId, uint8_t sceneCount, - /* TYPE WARNING: array array defaults to */ uint8_t * sceneList) - { - CHIPScenesClusterGetSceneMembershipResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"capacity" : [NSNumber numberWithUnsignedChar:capacity], - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneCount" : [NSNumber numberWithUnsignedChar:sceneCount], - // sceneList: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterRemoveAllScenesResponseCallbackBridge - : public Callback::Callback { -public: - CHIPScenesClusterRemoveAllScenesResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterRemoveAllScenesResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId) - { - CHIPScenesClusterRemoveAllScenesResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterRemoveSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterRemoveSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterRemoveSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) - { - CHIPScenesClusterRemoveSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterStoreSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterStoreSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterStoreSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) - { - CHIPScenesClusterStoreSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterViewSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterViewSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterViewSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId, uint16_t transitionTime, uint8_t * sceneName, - /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets) - { - CHIPScenesClusterViewSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - @"transitionTime" : [NSNumber numberWithUnsignedShort:transitionTime], - @"sceneName" : [NSString stringWithFormat:@"%s", sceneName], - // extensionFieldSets: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTvChannelClusterChangeChannelResponseCallbackBridge - : public Callback::Callback { -public: - CHIPTvChannelClusterChangeChannelResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTvChannelClusterChangeChannelResponseCallbackBridge() {}; - - static void CallbackFn(void * context, /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch, uint8_t ErrorType) - { - CHIPTvChannelClusterChangeChannelResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - // ChannelMatch: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - @"ErrorType" : [NSNumber numberWithUnsignedChar:ErrorType], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge - : public Callback::Callback { -public: - CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data) - { - CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterClusterTestSpecificResponseCallbackBridge - : public Callback::Callback { -public: - CHIPTestClusterClusterTestSpecificResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterClusterTestSpecificResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t returnValue) - { - CHIPTestClusterClusterTestSpecificResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"returnValue" : [NSNumber numberWithUnsignedChar:returnValue], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPThermostatClusterCurrentWeeklyScheduleCallbackBridge - : public Callback::Callback { -public: - CHIPThermostatClusterCurrentWeeklyScheduleCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPThermostatClusterCurrentWeeklyScheduleCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t numberOfTransitionsForSequence, uint8_t dayOfWeekForSequence, - uint8_t modeForSequence, /* TYPE WARNING: array array defaults to */ uint8_t * payload) - { - CHIPThermostatClusterCurrentWeeklyScheduleCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"numberOfTransitionsForSequence" : [NSNumber numberWithUnsignedChar:numberOfTransitionsForSequence], - @"dayOfWeekForSequence" : [NSNumber numberWithUnsignedChar:dayOfWeekForSequence], - @"modeForSequence" : [NSNumber numberWithUnsignedChar:modeForSequence], - // payload: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPThermostatClusterRelayStatusLogCallbackBridge : public Callback::Callback { -public: - CHIPThermostatClusterRelayStatusLogCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPThermostatClusterRelayStatusLogCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t timeOfDay, uint16_t relayStatus, int16_t localTemperature, - uint8_t humidityInPercentage, int16_t setpoint, uint16_t unreadEntries) - { - CHIPThermostatClusterRelayStatusLogCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"timeOfDay" : [NSNumber numberWithUnsignedShort:timeOfDay], - @"relayStatus" : [NSNumber numberWithUnsignedShort:relayStatus], - @"localTemperature" : [NSNumber numberWithShort:localTemperature], - @"humidityInPercentage" : [NSNumber numberWithUnsignedChar:humidityInPercentage], - @"setpoint" : [NSNumber numberWithShort:setpoint], - @"unreadEntries" : [NSNumber numberWithUnsignedShort:unreadEntries], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorDeviceListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorDeviceListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorDeviceListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _DeviceType * entries) - { - CHIPDescriptorDeviceListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedLong:entries[i].type], @"type", - [NSNumber numberWithUnsignedShort:entries[i].revision], @"revision", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorServerListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorServerListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorServerListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::ClusterId * entries) - { - CHIPDescriptorServerListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedShort:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorClientListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorClientListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorClientListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::ClusterId * entries) - { - CHIPDescriptorClientListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedShort:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorPartsListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorPartsListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorPartsListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::EndpointId * entries) - { - CHIPDescriptorPartsListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedChar:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _NetworkInterfaceType * entries) - { - CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] - initWithObjectsAndKeys:[NSData dataWithBytes:entries[i].Name.data() length:entries[i].Name.size()], @"Name", - [NSNumber numberWithUnsignedChar:entries[i].FabricConnected], @"FabricConnected", - [NSNumber numberWithUnsignedChar:entries[i].OffPremiseServicesReachableIPv4], - @"OffPremiseServicesReachableIPv4", - [NSNumber numberWithUnsignedChar:entries[i].OffPremiseServicesReachableIPv6], - @"OffPremiseServicesReachableIPv6", [NSNumber numberWithUnsignedLongLong:entries[i].HardwareAddress], - @"HardwareAddress", [NSNumber numberWithUnsignedChar:entries[i].Type], @"Type", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupKeyManagementGroupsAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPGroupKeyManagementGroupsAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupKeyManagementGroupsAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _GroupState * entries) - { - CHIPGroupKeyManagementGroupsAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedShort:entries[i].VendorId], - @"VendorId", [NSNumber numberWithUnsignedShort:entries[i].VendorGroupId], - @"VendorGroupId", [NSNumber numberWithUnsignedShort:entries[i].GroupKeySetIndex], - @"GroupKeySetIndex", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _GroupKey * entries) - { - CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedShort:entries[i].VendorId], @"VendorId", - [NSNumber numberWithUnsignedShort:entries[i].GroupKeyIndex], @"GroupKeyIndex", - [NSData dataWithBytes:entries[i].GroupKeyRoot.data() length:entries[i].GroupKeyRoot.size()], @"GroupKeyRoot", - [NSNumber numberWithUnsignedLongLong:entries[i].GroupKeyEpochStartTime], @"GroupKeyEpochStartTime", - [NSNumber numberWithUnsignedChar:entries[i].GroupKeySecurityPolicy], @"GroupKeySecurityPolicy", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPOperationalCredentialsFabricsListAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPOperationalCredentialsFabricsListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPOperationalCredentialsFabricsListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _FabricDescriptor * entries) - { - CHIPOperationalCredentialsFabricsListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedLongLong:entries[i].FabricId], - @"FabricId", [NSNumber numberWithUnsignedShort:entries[i].VendorId], @"VendorId", - [NSNumber numberWithUnsignedLongLong:entries[i].NodeId], @"NodeId", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterListInt8uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPTestClusterListInt8uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterListInt8uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, uint8_t * entries) - { - CHIPTestClusterListInt8uAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedChar:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterListOctetStringAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPTestClusterListOctetStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterListOctetStringAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::ByteSpan * entries) - { - CHIPTestClusterListOctetStringAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSData dataWithBytes:entries[i].data() length:entries[i].size()]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterListStructOctetStringAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPTestClusterListStructOctetStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterListStructOctetStringAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _TestListStructOctet * entries) - { - CHIPTestClusterListStructOctetStringAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedLongLong:entries[i].fabricIndex], @"fabricIndex", - [NSData dataWithBytes:entries[i].operationalCert.data() length:entries[i].operationalCert.size()], - @"operationalCert", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -@interface CHIPCluster () -@property (readonly, nonatomic) dispatch_queue_t callbackQueue; -@property (readonly, nonatomic) dispatch_queue_t chipWorkQueue; -- (Controller::ClusterBase *)getCluster; -@end - -@implementation CHIPCluster -- (instancetype)initWithDevice:(CHIPDevice *)device endpoint:(EndpointId)endpoint queue:(dispatch_queue_t)queue -{ - if (self = [super init]) { - Controller::ClusterBase * cppCluster = [self getCluster]; - if (cppCluster == nullptr) { - return nil; - } - - if (device == nullptr) { - return nil; - } - - CHIP_ERROR err = cppCluster->Associate([device internalDevice], endpoint); - if (err != CHIP_NO_ERROR) { - return nil; - } - - _chipWorkQueue = chip::DeviceLayer::PlatformMgrImpl().GetWorkQueue(); - if (_chipWorkQueue == nil) { - return nil; - } - - _callbackQueue = queue; - } - return self; -} - -- (Controller::ClusterBase *)getCluster -{ - return nullptr; -} -@end - -@interface CHIPAccountLogin () -@property (readonly) Controller::AccountLoginCluster cppCluster; -@end - -@implementation CHIPAccountLogin - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseHandler)responseHandler -{ - CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge * onSuccess - = new CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetSetupPIN(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [tempAccountIdentifier dataUsingEncoding:NSUTF8StringEncoding].bytes, - [tempAccountIdentifier lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Login(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [tempAccountIdentifier dataUsingEncoding:NSUTF8StringEncoding].bytes, - [tempAccountIdentifier lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - chip::ByteSpan((const uint8_t *) [setupPIN dataUsingEncoding:NSUTF8StringEncoding].bytes, - [setupPIN lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPApplicationBasic () -@property (readonly) Controller::ApplicationBasicCluster cppCluster; -@end - -@implementation CHIPApplicationBasic - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCatalogVendorId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationSatusWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationSatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPApplicationLauncher () -@property (readonly) Controller::ApplicationLauncherCluster cppCluster; -@end - -@implementation CHIPApplicationLauncher - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)launchApp:(NSString *)data - catalogVendorId:(uint16_t)catalogVendorId - applicationId:(NSString *)applicationId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge * onSuccess - = new CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LaunchApp(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [data dataUsingEncoding:NSUTF8StringEncoding].bytes, - [data lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - catalogVendorId, - chip::ByteSpan((const uint8_t *) [applicationId dataUsingEncoding:NSUTF8StringEncoding].bytes, - [applicationId lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationLauncherListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationLauncherList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPAudioOutput () -@property (readonly) Controller::AudioOutputCluster cppCluster; -@end - -@implementation CHIPAudioOutput - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RenameOutput(onSuccess->Cancel(), onFailure->Cancel(), index, - chip::ByteSpan((const uint8_t *) [name dataUsingEncoding:NSUTF8StringEncoding].bytes, - [name lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)selectOutput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SelectOutput(onSuccess->Cancel(), onFailure->Cancel(), index); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeAudioOutputListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeAudioOutputList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPBarrierControl () -@property (readonly) Controller::BarrierControlCluster cppCluster; -@end - -@implementation CHIPBarrierControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)barrierControlGoToPercent:(uint8_t)percentOpen responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.BarrierControlGoToPercent(onSuccess->Cancel(), onFailure->Cancel(), percentOpen); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)barrierControlStop:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.BarrierControlStop(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierMovingStateWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierMovingState(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierSafetyStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierCapabilities(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierPositionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierPosition(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPBasic () -@property (readonly) Controller::BasicCluster cppCluster; -@end - -@implementation CHIPBasic - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)mfgSpecificPing:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MfgSpecificPing(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInteractionModelVersionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInteractionModelVersion(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorID(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductID(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - NSData * data = [value dataUsingEncoding:NSUTF8StringEncoding]; - err = self.cppCluster.WriteAttributeUserLabel( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) data.bytes, data.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLocation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - NSData * data = [value dataUsingEncoding:NSUTF8StringEncoding]; - err = self.cppCluster.WriteAttributeLocation( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) data.bytes, data.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeHardwareVersion(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeHardwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSoftwareVersion(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSoftwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeManufacturingDate(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePartNumber(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductURL(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductLabel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSerialNumber(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLocalConfigDisabledWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLocalConfigDisabled(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeLocalConfigDisabledWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeLocalConfigDisabled(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPBinding () -@property (readonly) Controller::BindingCluster cppCluster; -@end - -@implementation CHIPBinding - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)bind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Bind(onSuccess->Cancel(), onFailure->Cancel(), nodeId, groupId, endpointId, clusterId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)unbind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Unbind(onSuccess->Cancel(), onFailure->Cancel(), nodeId, groupId, endpointId, clusterId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPColorControl () -@property (readonly) Controller::ColorControlCluster cppCluster; -@end - -@implementation CHIPColorControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)moveColor:(int16_t)rateX - rateY:(int16_t)rateY - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveColor(onSuccess->Cancel(), onFailure->Cancel(), rateX, rateY, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveColorTemperature:(uint8_t)moveMode - rate:(uint16_t)rate - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, - colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveHue:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveHue(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveSaturation:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveSaturation( - onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToColor:(uint16_t)colorX - colorY:(uint16_t)colorY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToColor( - onSuccess->Cancel(), onFailure->Cancel(), colorX, colorY, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToColorTemperature:(uint16_t)colorTemperature - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToColorTemperature( - onSuccess->Cancel(), onFailure->Cancel(), colorTemperature, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToHue:(uint8_t)hue - direction:(uint8_t)direction - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToHue( - onSuccess->Cancel(), onFailure->Cancel(), hue, direction, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToHueAndSaturation:(uint8_t)hue - saturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToHueAndSaturation( - onSuccess->Cancel(), onFailure->Cancel(), hue, saturation, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToSaturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToSaturation( - onSuccess->Cancel(), onFailure->Cancel(), saturation, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepColor:(int16_t)stepX - stepY:(int16_t)stepY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepColor( - onSuccess->Cancel(), onFailure->Cancel(), stepX, stepY, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepColorTemperature:(uint8_t)stepMode - stepSize:(uint16_t)stepSize - transitionTime:(uint16_t)transitionTime - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, - colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepHue:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepHue( - onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepSaturation:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepSaturation( - onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stopMoveStep:(uint8_t)optionsMask optionsOverride:(uint8_t)optionsOverride responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StopMoveStep(onSuccess->Cancel(), onFailure->Cancel(), optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentHue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentHueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentHue( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentHueWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentHue(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentSaturation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentSaturation( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentSaturation(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeRemainingTimeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeRemainingTime(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentXWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentX( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentXWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentX(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentYWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentY( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentYWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentY(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeDriftCompensationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeDriftCompensation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCompensationTextWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCompensationText(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorTemperature(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeColorTemperature( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeColorTemperatureWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeColorTemperature(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorControlOptionsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorControlOptions(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorControlOptionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorControlOptions(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeNumberOfPrimariesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNumberOfPrimaries(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary1XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary1X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary1YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary1Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary1IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary1Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary2XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary2X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary2YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary2Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary2IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary2Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary3XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary3X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary3YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary3Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary3IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary3Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary4XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary4X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary4YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary4Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary4IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary4Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary5XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary5X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary5YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary5Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary5IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary5Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary6XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary6X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary6YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary6Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary6IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary6Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeWhitePointXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWhitePointX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeWhitePointXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeWhitePointX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeWhitePointYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWhitePointY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeWhitePointYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeWhitePointY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointRXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointRX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointRXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointRX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointRYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointRY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointRYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointRY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointRIntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointRIntensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointRIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointRIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointGXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointGX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointGXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointGX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointGYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointGY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointGYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointGY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointGIntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointGIntensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointGIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointGIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointBXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointBX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointBXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointBX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointBYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointBY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointBYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointBY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointBIntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointBIntensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointBIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointBIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnhancedCurrentHueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnhancedCurrentHue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnhancedColorModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnhancedColorMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorLoopActiveWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorLoopActive(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorLoopDirectionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorLoopDirection(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorLoopTimeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorLoopTime(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorCapabilities(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorTempPhysicalMinWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorTempPhysicalMin(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorTempPhysicalMaxWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorTempPhysicalMax(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCoupleColorTempToLevelMinMireds(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeStartUpColorTemperatureMiredsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeStartUpColorTemperatureMireds(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeStartUpColorTemperatureMireds(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPContentLaunch () -@property (readonly) Controller::ContentLaunchCluster cppCluster; -@end - -@implementation CHIPContentLaunch - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)launchContent:(uint8_t)autoPlay data:(NSString *)data responseHandler:(ResponseHandler)responseHandler -{ - CHIPContentLaunchClusterLaunchContentResponseCallbackBridge * onSuccess - = new CHIPContentLaunchClusterLaunchContentResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LaunchContent(onSuccess->Cancel(), onFailure->Cancel(), autoPlay, - chip::ByteSpan((const uint8_t *) [data dataUsingEncoding:NSUTF8StringEncoding].bytes, - [data lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString responseHandler:(ResponseHandler)responseHandler -{ - CHIPContentLaunchClusterLaunchURLResponseCallbackBridge * onSuccess - = new CHIPContentLaunchClusterLaunchURLResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LaunchURL(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [contentURL dataUsingEncoding:NSUTF8StringEncoding].bytes, - [contentURL lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - chip::ByteSpan((const uint8_t *) [displayString dataUsingEncoding:NSUTF8StringEncoding].bytes, - [displayString lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeAcceptsHeaderListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeAcceptsHeaderList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSupportedStreamingTypesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSupportedStreamingTypes(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPDescriptor () -@property (readonly) Controller::DescriptorCluster cppCluster; -@end - -@implementation CHIPDescriptor - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeDeviceListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorDeviceListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorDeviceListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeDeviceList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeServerListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorServerListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorServerListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeServerList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClientListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorClientListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorClientListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClientList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePartsListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorPartsListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorPartsListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePartsList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPDoorLock () -@property (readonly) Controller::DoorLockCluster cppCluster; -@end - -@implementation CHIPDoorLock - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)clearAllPins:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearAllPinsResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearAllPinsResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearAllPins(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearAllRfids:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearAllRfids(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearHolidaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearPinResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearPinResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearPin(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearRfidResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearRfidResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearRfid(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearWeekdaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearYeardaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetHolidaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getLogRecord:(uint16_t)logIndex responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetLogRecordResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetLogRecordResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetLogRecord(onSuccess->Cancel(), onFailure->Cancel(), logIndex); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetPinResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetPinResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetPin(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetRfidResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetRfidResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getUserType:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetUserTypeResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetUserTypeResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetWeekdaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetYeardaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)lockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterLockDoorResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterLockDoorResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LockDoor(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setHolidaySchedule:(uint8_t)scheduleId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetHolidaySchedule( - onSuccess->Cancel(), onFailure->Cancel(), scheduleId, localStartTime, localEndTime, operatingModeDuringHoliday); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setPin:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - pin:(NSString *)pin - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetPinResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetPinResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetPin(onSuccess->Cancel(), onFailure->Cancel(), userId, userStatus, userType, - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setRfid:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - id:(NSString *)id - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetRfidResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetRfidResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId, userStatus, userType, - chip::ByteSpan((const uint8_t *) [id dataUsingEncoding:NSUTF8StringEncoding].bytes, - [id lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetUserTypeResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetUserTypeResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId, userType); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setWeekdaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - daysMask:(uint8_t)daysMask - startHour:(uint8_t)startHour - startMinute:(uint8_t)startMinute - endHour:(uint8_t)endHour - endMinute:(uint8_t)endMinute - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetWeekdaySchedule( - onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId, daysMask, startHour, startMinute, endHour, endMinute); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setYeardaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetYeardaySchedule( - onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId, localStartTime, localEndTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)unlockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterUnlockDoorResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterUnlockDoorResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UnlockDoor(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UnlockWithTimeout(onSuccess->Cancel(), onFailure->Cancel(), timeoutInSeconds, - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLockState(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeLockStateWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeLockState(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeLockStateWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeLockState(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLockTypeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLockType(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeActuatorEnabledWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeActuatorEnabled(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGeneralCommissioning () -@property (readonly) Controller::GeneralCommissioningCluster cppCluster; -@end - -@implementation CHIPGeneralCommissioning - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)armFailSafe:(uint16_t)expiryLengthSeconds - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge * onSuccess - = new CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ArmFailSafe(onSuccess->Cancel(), onFailure->Cancel(), expiryLengthSeconds, breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)commissioningComplete:(ResponseHandler)responseHandler -{ - CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge * onSuccess - = new CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.CommissioningComplete(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setRegulatoryConfig:(uint8_t)location - countryCode:(NSString *)countryCode - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge * onSuccess - = new CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetRegulatoryConfig(onSuccess->Cancel(), onFailure->Cancel(), location, - chip::ByteSpan((const uint8_t *) [countryCode dataUsingEncoding:NSUTF8StringEncoding].bytes, - [countryCode lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeFabricIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeFabricId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBreadcrumbWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBreadcrumb(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBreadcrumbWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBreadcrumb(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGeneralDiagnostics () -@property (readonly) Controller::GeneralDiagnosticsCluster cppCluster; -@end - -@implementation CHIPGeneralDiagnostics - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeNetworkInterfacesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge * onSuccess - = new CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNetworkInterfaces(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeRebootCountWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeRebootCount(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGroupKeyManagement () -@property (readonly) Controller::GroupKeyManagementCluster cppCluster; -@end - -@implementation CHIPGroupKeyManagement - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeGroupsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupKeyManagementGroupsAttributeCallbackBridge * onSuccess - = new CHIPGroupKeyManagementGroupsAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeGroups(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeGroupKeysWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge * onSuccess - = new CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeGroupKeys(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGroups () -@property (readonly) Controller::GroupsCluster cppCluster; -@end - -@implementation CHIPGroups - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterAddGroupResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterAddGroupResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId, - chip::ByteSpan((const uint8_t *) [groupName dataUsingEncoding:NSUTF8StringEncoding].bytes, - [groupName lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddGroupIfIdentifying(onSuccess->Cancel(), onFailure->Cancel(), groupId, - chip::ByteSpan((const uint8_t *) [groupName dataUsingEncoding:NSUTF8StringEncoding].bytes, - [groupName lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetGroupMembership(onSuccess->Cancel(), onFailure->Cancel(), groupCount, groupList); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeAllGroups:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveAllGroups(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterRemoveGroupResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterRemoveGroupResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)viewGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterViewGroupResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterViewGroupResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ViewGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNameSupport(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPIdentify () -@property (readonly) Controller::IdentifyCluster cppCluster; -@end - -@implementation CHIPIdentify - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)identify:(uint16_t)identifyTime responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Identify(onSuccess->Cancel(), onFailure->Cancel(), identifyTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)identifyQuery:(ResponseHandler)responseHandler -{ - CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge * onSuccess - = new CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.IdentifyQuery(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeIdentifyTimeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeIdentifyTime(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeIdentifyTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeIdentifyTime(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPKeypadInput () -@property (readonly) Controller::KeypadInputCluster cppCluster; -@end - -@implementation CHIPKeypadInput - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandler -{ - CHIPKeypadInputClusterSendKeyResponseCallbackBridge * onSuccess - = new CHIPKeypadInputClusterSendKeyResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SendKey(onSuccess->Cancel(), onFailure->Cancel(), keyCode); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPLevelControl () -@property (readonly) Controller::LevelControlCluster cppCluster; -@end - -@implementation CHIPLevelControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)move:(uint8_t)moveMode - rate:(uint8_t)rate - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Move(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToLevel:(uint8_t)level - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToLevel( - onSuccess->Cancel(), onFailure->Cancel(), level, transitionTime, optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToLevelWithOnOff:(uint8_t)level transitionTime:(uint16_t)transitionTime responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToLevelWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), level, transitionTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)step:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Step( - onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepWithOnOff:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Stop(onSuccess->Cancel(), onFailure->Cancel(), optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stopWithOnOff:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StopWithOnOff(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentLevel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentLevel( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentLevelWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentLevel(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPLowPower () -@property (readonly) Controller::LowPowerCluster cppCluster; -@end - -@implementation CHIPLowPower - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)sleep:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Sleep(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPMediaInput () -@property (readonly) Controller::MediaInputCluster cppCluster; -@end - -@implementation CHIPMediaInput - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)hideInputStatus:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.HideInputStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RenameInput(onSuccess->Cancel(), onFailure->Cancel(), index, - chip::ByteSpan((const uint8_t *) [name dataUsingEncoding:NSUTF8StringEncoding].bytes, - [name lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)selectInput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SelectInput(onSuccess->Cancel(), onFailure->Cancel(), index); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)showInputStatus:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ShowInputStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMediaInputListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMediaInputList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPMediaPlayback () -@property (readonly) Controller::MediaPlaybackCluster cppCluster; -@end - -@implementation CHIPMediaPlayback - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)mediaFastForward:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaFastForward(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaNext:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaNext(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaPause:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaPause(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaPlay:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaPlay(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaPrevious:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaPrevious(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaRewind:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaRewind(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaSkipBackward(onSuccess->Cancel(), onFailure->Cancel(), deltaPositionMilliseconds); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaSkipForward(onSuccess->Cancel(), onFailure->Cancel(), deltaPositionMilliseconds); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaSkipSeek:(uint64_t)position responseHandler:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaSkipSeek(onSuccess->Cancel(), onFailure->Cancel(), position); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaStartOver:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaStartOver(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaStop:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaStop(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPNetworkCommissioning () -@property (readonly) Controller::NetworkCommissioningCluster cppCluster; -@end - -@implementation CHIPNetworkCommissioning - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddThreadNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) operationalDataset.bytes, operationalDataset.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)addWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddWiFiNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) ssid.bytes, ssid.length), - chip::ByteSpan((const uint8_t *) credentials.bytes, credentials.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)disableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.DisableNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) networkID.bytes, networkID.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)enableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.EnableNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) networkID.bytes, networkID.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetLastNetworkCommissioningResult(onSuccess->Cancel(), onFailure->Cancel(), timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) networkID.bytes, networkID.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)scanNetworks:(NSData *)ssid - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ScanNetworks(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) ssid.bytes, ssid.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)updateThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UpdateThreadNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) operationalDataset.bytes, operationalDataset.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)updateWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UpdateWiFiNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) ssid.bytes, ssid.length), - chip::ByteSpan((const uint8_t *) credentials.bytes, credentials.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPOnOff () -@property (readonly) Controller::OnOffCluster cppCluster; -@end - -@implementation CHIPOnOff - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)off:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Off(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)on:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.On(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)toggle:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Toggle(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOnOff(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeOnOffWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeOnOff(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeOnOffWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPBooleanAttributeCallbackBridge * onReport - = new CHIPBooleanAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeOnOff(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPOperationalCredentials () -@property (readonly) Controller::OperationalCredentialsCluster cppCluster; -@end - -@implementation CHIPOperationalCredentials - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)removeAllFabrics:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveAllFabrics(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeFabric:(uint64_t)fabricId - nodeId:(uint64_t)nodeId - vendorId:(uint16_t)vendorId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveFabric(onSuccess->Cancel(), onFailure->Cancel(), fabricId, nodeId, vendorId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setFabric:(uint16_t)vendorId responseHandler:(ResponseHandler)responseHandler -{ - CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge * onSuccess - = new CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetFabric(onSuccess->Cancel(), onFailure->Cancel(), vendorId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UpdateFabricLabel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [label dataUsingEncoding:NSUTF8StringEncoding].bytes, - [label lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeFabricsListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPOperationalCredentialsFabricsListAttributeCallbackBridge * onSuccess - = new CHIPOperationalCredentialsFabricsListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeFabricsList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPPumpConfigurationAndControl () -@property (readonly) Controller::PumpConfigurationAndControlCluster cppCluster; -@end - -@implementation CHIPPumpConfigurationAndControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeMaxPressureWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxPressure(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMaxSpeedWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxSpeed(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMaxFlowWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxFlow(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEffectiveOperationModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEffectiveOperationMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEffectiveControlModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEffectiveControlMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCapacity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCapacityWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCapacity( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCapacityWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCapacity(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOperationModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOperationMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOperationMode(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPScenes () -@property (readonly) Controller::ScenesCluster cppCluster; -@end - -@implementation CHIPScenes - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - sceneName:(NSString *)sceneName - clusterId:(uint16_t)clusterId - length:(uint8_t)length - value:(uint8_t)value - responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterAddSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterAddSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId, transitionTime, - chip::ByteSpan((const uint8_t *) [sceneName dataUsingEncoding:NSUTF8StringEncoding].bytes, - [sceneName lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - clusterId, length, value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getSceneMembership:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterGetSceneMembershipResponseCallbackBridge * onSuccess - = new CHIPScenesClusterGetSceneMembershipResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetSceneMembership(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)recallScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RecallScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId, transitionTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeAllScenes:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterRemoveAllScenesResponseCallbackBridge * onSuccess - = new CHIPScenesClusterRemoveAllScenesResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveAllScenes(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterRemoveSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterRemoveSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterStoreSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterStoreSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StoreScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterViewSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterViewSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ViewScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSceneCountWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSceneCount(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentSceneWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentScene(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentGroupWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentGroup(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSceneValidWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSceneValid(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNameSupport(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPSwitch () -@property (readonly) Controller::SwitchCluster cppCluster; -@end - -@implementation CHIPSwitch - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeNumberOfPositionsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNumberOfPositions(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentPosition(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentPosition( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentPositionWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentPosition(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTvChannel () -@property (readonly) Controller::TvChannelCluster cppCluster; -@end - -@implementation CHIPTvChannel - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)responseHandler -{ - CHIPTvChannelClusterChangeChannelResponseCallbackBridge * onSuccess - = new CHIPTvChannelClusterChangeChannelResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ChangeChannel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [match dataUsingEncoding:NSUTF8StringEncoding].bytes, - [match lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)changeChannelByNumber:(uint16_t)majorNumber - minorNumber:(uint16_t)minorNumber - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ChangeChannelByNumber(onSuccess->Cancel(), onFailure->Cancel(), majorNumber, minorNumber); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)skipChannel:(uint16_t)count responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SkipChannel(onSuccess->Cancel(), onFailure->Cancel(), count); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeTvChannelListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeTvChannelList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeTvChannelLineupWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeTvChannelLineup(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentTvChannelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentTvChannel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTargetNavigator () -@property (readonly) Controller::TargetNavigatorCluster cppCluster; -@end - -@implementation CHIPTargetNavigator - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(ResponseHandler)responseHandler -{ - CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge * onSuccess - = new CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.NavigateTarget(onSuccess->Cancel(), onFailure->Cancel(), target, - chip::ByteSpan((const uint8_t *) [data dataUsingEncoding:NSUTF8StringEncoding].bytes, - [data lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeTargetNavigatorListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeTargetNavigatorList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTemperatureMeasurement () -@property (readonly) Controller::TemperatureMeasurementCluster cppCluster; -@end - -@implementation CHIPTemperatureMeasurement - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeMeasuredValue( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeMeasuredValue(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMinMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTestCluster () -@property (readonly) Controller::TestClusterCluster cppCluster; -@end - -@implementation CHIPTestCluster - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)test:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Test(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)testNotHandled:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.TestNotHandled(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)testSpecific:(ResponseHandler)responseHandler -{ - CHIPTestClusterClusterTestSpecificResponseCallbackBridge * onSuccess - = new CHIPTestClusterClusterTestSpecificResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.TestSpecific(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBooleanWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBoolean(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBooleanWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBoolean(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap8WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap8(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap8(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap16WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap16(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap16(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap32WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap32(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap32WithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap32(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap64WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap64(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap64WithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap64(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt8uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt8u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt8uWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt8u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt16uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt16u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt16uWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt16u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt32uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt32u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt32uWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt32u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt64uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt64u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt64uWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt64u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt8sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8sAttributeCallbackBridge * onSuccess = new CHIPInt8sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt8s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt8sWithValue:(int8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt8s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt16sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt16s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt16sWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt16s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt32sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32sAttributeCallbackBridge * onSuccess = new CHIPInt32sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt32s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt32sWithValue:(int32_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt32s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt64sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64sAttributeCallbackBridge * onSuccess = new CHIPInt64sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt64s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt64sWithValue:(int64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt64s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnum8WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnum8(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeEnum8(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnum16WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnum16(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeEnum16(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOctetStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOctetString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOctetString( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) value.bytes, value.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeListInt8uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPTestClusterListInt8uAttributeCallbackBridge * onSuccess - = new CHIPTestClusterListInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeListInt8u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeListOctetStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPTestClusterListOctetStringAttributeCallbackBridge * onSuccess - = new CHIPTestClusterListOctetStringAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeListOctetString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeListStructOctetStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPTestClusterListStructOctetStringAttributeCallbackBridge * onSuccess - = new CHIPTestClusterListStructOctetStringAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeListStructOctetString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPThermostat () -@property (readonly) Controller::ThermostatCluster cppCluster; -@end - -@implementation CHIPThermostat - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)clearWeeklySchedule:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getRelayStatusLog:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetRelayStatusLog(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getWeeklySchedule:(uint8_t)daysToReturn modeToReturn:(uint8_t)modeToReturn responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel(), daysToReturn, modeToReturn); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence - dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence - modeForSequence:(uint8_t)modeForSequence - payload:(uint8_t)payload - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel(), numberOfTransitionsForSequence, - dayOfWeekForSequence, modeForSequence, payload); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetpointRaiseLower(onSuccess->Cancel(), onFailure->Cancel(), mode, amount); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLocalTemperature(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeLocalTemperature( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeLocalTemperature(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOccupiedCoolingSetpointWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOccupiedCoolingSetpoint(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOccupiedCoolingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOccupiedCoolingSetpoint(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOccupiedHeatingSetpointWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOccupiedHeatingSetpoint(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOccupiedHeatingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOccupiedHeatingSetpoint(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeControlSequenceOfOperationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeControlSequenceOfOperation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeControlSequenceOfOperation(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSystemModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSystemMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeSystemMode(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPWakeOnLan () -@property (readonly) Controller::WakeOnLanCluster cppCluster; -@end - -@implementation CHIPWakeOnLan - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeWakeOnLanMacAddressWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWakeOnLanMacAddress(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end diff --git a/src/controller/python/gen/CHIPClustersObjc.h b/src/controller/python/gen/CHIPClustersObjc.h deleted file mode 100644 index 01e9245847b19e..00000000000000 --- a/src/controller/python/gen/CHIPClustersObjc.h +++ /dev/null @@ -1,999 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -// THIS FILE IS GENERATED BY ZAP - -#ifndef CHIP_CLUSTERS_H -#define CHIP_CLUSTERS_H - -#import - -@class CHIPDevice; - -typedef void (^ResponseHandler)(NSError * _Nullable error, NSDictionary * _Nullable values); - -NS_ASSUME_NONNULL_BEGIN - -/** - * CHIPCluster - * This is the base class for clusters. - */ -@interface CHIPCluster : NSObject - -- (nullable instancetype)initWithDevice:(CHIPDevice *)device - endpoint:(uint8_t)endpoint - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER; -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)new NS_UNAVAILABLE; - -@end - -/** - * Cluster Account Login - * - */ -@interface CHIPAccountLogin : CHIPCluster - -- (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseHandler)responseHandler; -- (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Application Basic - * - */ -@interface CHIPApplicationBasic : CHIPCluster - -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeApplicationNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeApplicationSatusWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Application Launcher - * - */ -@interface CHIPApplicationLauncher : CHIPCluster - -- (void)launchApp:(NSString *)data - catalogVendorId:(uint16_t)catalogVendorId - applicationId:(NSString *)applicationId - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeApplicationLauncherListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Audio Output - * - */ -@interface CHIPAudioOutput : CHIPCluster - -- (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler; -- (void)selectOutput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeAudioOutputListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Barrier Control - * - */ -@interface CHIPBarrierControl : CHIPCluster - -- (void)barrierControlGoToPercent:(uint8_t)percentOpen responseHandler:(ResponseHandler)responseHandler; -- (void)barrierControlStop:(ResponseHandler)responseHandler; - -- (void)readAttributeBarrierMovingStateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBarrierSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBarrierCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBarrierPositionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Basic - * - */ -@interface CHIPBasic : CHIPCluster - -- (void)mfgSpecificPing:(ResponseHandler)responseHandler; - -- (void)readAttributeInteractionModelVersionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeLocalConfigDisabledWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeLocalConfigDisabledWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Binding - * - */ -@interface CHIPBinding : CHIPCluster - -- (void)bind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler; -- (void)unbind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Color Control - * - */ -@interface CHIPColorControl : CHIPCluster - -- (void)moveColor:(int16_t)rateX - rateY:(int16_t)rateY - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveColorTemperature:(uint8_t)moveMode - rate:(uint16_t)rate - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveHue:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveSaturation:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToColor:(uint16_t)colorX - colorY:(uint16_t)colorY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToColorTemperature:(uint16_t)colorTemperature - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToHue:(uint8_t)hue - direction:(uint8_t)direction - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToHueAndSaturation:(uint8_t)hue - saturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToSaturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepColor:(int16_t)stepX - stepY:(int16_t)stepY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepColorTemperature:(uint8_t)stepMode - stepSize:(uint16_t)stepSize - transitionTime:(uint16_t)transitionTime - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepHue:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepSaturation:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stopMoveStep:(uint8_t)optionsMask optionsOverride:(uint8_t)optionsOverride responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentHueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeRemainingTimeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentXWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentYWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeDriftCompensationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCompensationTextWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorControlOptionsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorControlOptionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeNumberOfPrimariesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary1XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary1YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary1IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary2XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary2YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary2IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary3XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary3YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary3IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary4XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary4YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary4IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary5XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary5YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary5IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary6XWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary6YWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePrimary6IntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeWhitePointXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeWhitePointXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeWhitePointYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeWhitePointYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointRXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointRXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointRYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointRYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointRIntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointRIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointGXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointGXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointGYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointGYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointGIntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointGIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointBXWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointBXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointBYWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointBYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorPointBIntensityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeColorPointBIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnhancedCurrentHueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnhancedColorModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorLoopActiveWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorLoopDirectionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorLoopTimeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorTempPhysicalMinWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeColorTempPhysicalMaxWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeStartUpColorTemperatureMiredsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Content Launch - * - */ -@interface CHIPContentLaunch : CHIPCluster - -- (void)launchContent:(uint8_t)autoPlay data:(NSString *)data responseHandler:(ResponseHandler)responseHandler; -- (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeAcceptsHeaderListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSupportedStreamingTypesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Descriptor - * - */ -@interface CHIPDescriptor : CHIPCluster - -- (void)readAttributeDeviceListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeServerListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClientListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributePartsListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Door Lock - * - */ -@interface CHIPDoorLock : CHIPCluster - -- (void)clearAllPins:(ResponseHandler)responseHandler; -- (void)clearAllRfids:(ResponseHandler)responseHandler; -- (void)clearHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler; -- (void)clearPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)clearRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler; -- (void)getLogRecord:(uint16_t)logIndex responseHandler:(ResponseHandler)responseHandler; -- (void)getPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getUserType:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler; -- (void)lockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler; -- (void)setHolidaySchedule:(uint8_t)scheduleId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday - responseHandler:(ResponseHandler)responseHandler; -- (void)setPin:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - pin:(NSString *)pin - responseHandler:(ResponseHandler)responseHandler; -- (void)setRfid:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - id:(NSString *)id - responseHandler:(ResponseHandler)responseHandler; -- (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler:(ResponseHandler)responseHandler; -- (void)setWeekdaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - daysMask:(uint8_t)daysMask - startHour:(uint8_t)startHour - startMinute:(uint8_t)startMinute - endHour:(uint8_t)endHour - endMinute:(uint8_t)endMinute - responseHandler:(ResponseHandler)responseHandler; -- (void)setYeardaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - responseHandler:(ResponseHandler)responseHandler; -- (void)unlockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler; -- (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeLockStateWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeLockTypeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeActuatorEnabledWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster General Commissioning - * - */ -@interface CHIPGeneralCommissioning : CHIPCluster - -- (void)armFailSafe:(uint16_t)expiryLengthSeconds - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)commissioningComplete:(ResponseHandler)responseHandler; -- (void)setRegulatoryConfig:(uint8_t)location - countryCode:(NSString *)countryCode - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeFabricIdWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBreadcrumbWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBreadcrumbWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster General Diagnostics - * - */ -@interface CHIPGeneralDiagnostics : CHIPCluster - -- (void)readAttributeNetworkInterfacesWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeRebootCountWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Group Key Management - * - */ -@interface CHIPGroupKeyManagement : CHIPCluster - -- (void)readAttributeGroupsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeGroupKeysWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Groups - * - */ -@interface CHIPGroups : CHIPCluster - -- (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler; -- (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler; -- (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList responseHandler:(ResponseHandler)responseHandler; -- (void)removeAllGroups:(ResponseHandler)responseHandler; -- (void)removeGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; -- (void)viewGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Identify - * - */ -@interface CHIPIdentify : CHIPCluster - -- (void)identify:(uint16_t)identifyTime responseHandler:(ResponseHandler)responseHandler; -- (void)identifyQuery:(ResponseHandler)responseHandler; - -- (void)readAttributeIdentifyTimeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeIdentifyTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Keypad Input - * - */ -@interface CHIPKeypadInput : CHIPCluster - -- (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Level Control - * - */ -@interface CHIPLevelControl : CHIPCluster - -- (void)move:(uint8_t)moveMode - rate:(uint8_t)rate - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToLevel:(uint8_t)level - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)moveToLevelWithOnOff:(uint8_t)level - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler; -- (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler; -- (void)step:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler; -- (void)stepWithOnOff:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler; -- (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride responseHandler:(ResponseHandler)responseHandler; -- (void)stopWithOnOff:(ResponseHandler)responseHandler; - -- (void)readAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Low Power - * - */ -@interface CHIPLowPower : CHIPCluster - -- (void)sleep:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Media Input - * - */ -@interface CHIPMediaInput : CHIPCluster - -- (void)hideInputStatus:(ResponseHandler)responseHandler; -- (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler; -- (void)selectInput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler; -- (void)showInputStatus:(ResponseHandler)responseHandler; - -- (void)readAttributeMediaInputListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Media Playback - * - */ -@interface CHIPMediaPlayback : CHIPCluster - -- (void)mediaFastForward:(ResponseHandler)responseHandler; -- (void)mediaNext:(ResponseHandler)responseHandler; -- (void)mediaPause:(ResponseHandler)responseHandler; -- (void)mediaPlay:(ResponseHandler)responseHandler; -- (void)mediaPrevious:(ResponseHandler)responseHandler; -- (void)mediaRewind:(ResponseHandler)responseHandler; -- (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler; -- (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler; -- (void)mediaSkipSeek:(uint64_t)position responseHandler:(ResponseHandler)responseHandler; -- (void)mediaStartOver:(ResponseHandler)responseHandler; -- (void)mediaStop:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Network Commissioning - * - */ -@interface CHIPNetworkCommissioning : CHIPCluster - -- (void)addThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)addWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)disableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)enableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs responseHandler:(ResponseHandler)responseHandler; -- (void)removeNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)scanNetworks:(NSData *)ssid - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)updateThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; -- (void)updateWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster On/off - * - */ -@interface CHIPOnOff : CHIPCluster - -- (void)off:(ResponseHandler)responseHandler; -- (void)on:(ResponseHandler)responseHandler; -- (void)toggle:(ResponseHandler)responseHandler; - -- (void)readAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeOnOffWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Operational Credentials - * - */ -@interface CHIPOperationalCredentials : CHIPCluster - -- (void)addOpCert:(NSData *)noc - iCACertificate:(NSData *)iCACertificate - iPKValue:(NSData *)iPKValue - caseAdminNode:(uint64_t)caseAdminNode - adminVendorId:(uint16_t)adminVendorId - responseHandler:(ResponseHandler)responseHandler; -- (void)opCSRRequest:(NSData *)cSRNonce responseHandler:(ResponseHandler)responseHandler; -- (void)removeAllFabrics:(ResponseHandler)responseHandler; -- (void)removeFabric:(uint64_t)fabricId - nodeId:(uint64_t)nodeId - vendorId:(uint16_t)vendorId - responseHandler:(ResponseHandler)responseHandler; -- (void)setFabric:(uint16_t)vendorId responseHandler:(ResponseHandler)responseHandler; -- (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeFabricsListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Pump Configuration and Control - * - */ -@interface CHIPPumpConfigurationAndControl : CHIPCluster - -- (void)readAttributeMaxPressureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMaxSpeedWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMaxFlowWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEffectiveOperationModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEffectiveControlModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCapacityWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOperationModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Scenes - * - */ -@interface CHIPScenes : CHIPCluster - -- (void)addScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - sceneName:(NSString *)sceneName - clusterId:(uint16_t)clusterId - length:(uint8_t)length - value:(uint8_t)value - responseHandler:(ResponseHandler)responseHandler; -- (void)getSceneMembership:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; -- (void)recallScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler; -- (void)removeAllScenes:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler; -- (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler; -- (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler; -- (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeSceneCountWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentSceneWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentGroupWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSceneValidWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Switch - * - */ -@interface CHIPSwitch : CHIPCluster - -- (void)readAttributeNumberOfPositionsWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster TV Channel - * - */ -@interface CHIPTvChannel : CHIPCluster - -- (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)responseHandler; -- (void)changeChannelByNumber:(uint16_t)majorNumber - minorNumber:(uint16_t)minorNumber - responseHandler:(ResponseHandler)responseHandler; -- (void)skipChannel:(uint16_t)count responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeTvChannelListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeTvChannelLineupWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentTvChannelWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Target Navigator - * - */ -@interface CHIPTargetNavigator : CHIPCluster - -- (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeTargetNavigatorListWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Temperature Measurement - * - */ -@interface CHIPTemperatureMeasurement : CHIPCluster - -- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Test Cluster - * - */ -@interface CHIPTestCluster : CHIPCluster - -- (void)test:(ResponseHandler)responseHandler; -- (void)testNotHandled:(ResponseHandler)responseHandler; -- (void)testSpecific:(ResponseHandler)responseHandler; - -- (void)readAttributeBooleanWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBooleanWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap8WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap16WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap32WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap32WithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeBitmap64WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeBitmap64WithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt8uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt8uWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt16uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt16uWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt32uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt32uWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt64uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt64uWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt8sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt8sWithValue:(int8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt16sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt16sWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt32sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt32sWithValue:(int32_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInt64sWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeInt64sWithValue:(int64_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnum8WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeEnum16WithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOctetStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeListInt8uWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeListOctetStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeListStructOctetStringWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Thermostat - * - */ -@interface CHIPThermostat : CHIPCluster - -- (void)clearWeeklySchedule:(ResponseHandler)responseHandler; -- (void)getRelayStatusLog:(ResponseHandler)responseHandler; -- (void)getWeeklySchedule:(uint8_t)daysToReturn modeToReturn:(uint8_t)modeToReturn responseHandler:(ResponseHandler)responseHandler; -- (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence - dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence - modeForSequence:(uint8_t)modeForSequence - payload:(uint8_t)payload - responseHandler:(ResponseHandler)responseHandler; -- (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOccupiedCoolingSetpointWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOccupiedCoolingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeOccupiedHeatingSetpointWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeOccupiedHeatingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeControlSequenceOfOperationWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeSystemModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Trusted Root Certificates - * - */ -@interface CHIPTrustedRootCertificates : CHIPCluster - -- (void)addTrustedRootCertificate:(NSData *)rootCertificate responseHandler:(ResponseHandler)responseHandler; -- (void)removeTrustedRootCertificate:(NSData *)trustedRootIdentifier responseHandler:(ResponseHandler)responseHandler; - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Wake on LAN - * - */ -@interface CHIPWakeOnLan : CHIPCluster - -- (void)readAttributeWakeOnLanMacAddressWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -/** - * Cluster Window Covering - * - */ -@interface CHIPWindowCovering : CHIPCluster - -- (void)windowCoveringDownClose:(ResponseHandler)responseHandler; -- (void)windowCoveringGoToLiftPercentage:(uint8_t)percentageLiftValue responseHandler:(ResponseHandler)responseHandler; -- (void)windowCoveringGoToLiftValue:(uint16_t)liftValue responseHandler:(ResponseHandler)responseHandler; -- (void)windowCoveringGoToTiltPercentage:(uint8_t)percentageTiltValue responseHandler:(ResponseHandler)responseHandler; -- (void)windowCoveringGoToTiltValue:(uint16_t)tiltValue responseHandler:(ResponseHandler)responseHandler; -- (void)windowCoveringStop:(ResponseHandler)responseHandler; -- (void)windowCoveringUpOpen:(ResponseHandler)responseHandler; - -- (void)readAttributeWindowCoveringTypeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeWindowCoveringTypeWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeWindowCoveringTypeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentPositionLiftWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentPositionLiftWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentPositionLiftWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeCurrentPositionTiltWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeCurrentPositionTiltWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeCurrentPositionTiltWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeConfigStatusWithResponseHandler:(ResponseHandler)responseHandler; -- (void)configureAttributeConfigStatusWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler; -- (void)reportAttributeConfigStatusWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInstalledOpenLimitLiftWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInstalledClosedLimitLiftWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInstalledOpenLimitTiltWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeInstalledClosedLimitTiltWithResponseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeModeWithResponseHandler:(ResponseHandler)responseHandler; -- (void)writeAttributeModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; - -@end - -NS_ASSUME_NONNULL_END - -#endif /* CHIP_CLUSTERS_H */ diff --git a/src/controller/python/gen/CHIPClustersObjc.mm b/src/controller/python/gen/CHIPClustersObjc.mm deleted file mode 100644 index fd265e43dd18ca..00000000000000 --- a/src/controller/python/gen/CHIPClustersObjc.mm +++ /dev/null @@ -1,14317 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -// THIS FILE IS GENERATED BY ZAP - -#import - -#import "CHIPDevice.h" -#import "CHIPDevice_Internal.h" -#import "CHIPError.h" -#import "app/util/af.h" -#import "gen/CHIPClientCallbacks.h" -#import "gen/CHIPClusters.h" -#import "gen/CHIPClustersObjc.h" - -#include -#include - -using namespace ::chip; - -class CHIPDefaultSuccessCallbackBridge : public Callback::Callback { -public: - CHIPDefaultSuccessCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDefaultSuccessCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDefaultSuccessCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, nil); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDefaultFailureCallbackBridge : public Callback::Callback { -public: - CHIPDefaultFailureCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDefaultFailureCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t status) - { - CHIPDefaultFailureCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - NSError * error = [CHIPError errorForCHIPErrorCode:status]; - callback->mHandler(error, nil); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPStringAttributeCallbackBridge : public Callback::Callback { -public: - CHIPStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool octetString, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mOctetString(octetString) - , mKeepAlive(keepAlive) - { - } - - ~CHIPStringAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, chip::ByteSpan value) - { - NSData * data = [NSData dataWithBytes:value.data() length:value.size()]; - - CHIPStringAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - if (callback->mOctetString) { - callback->mHandler(nil, @ { @"value" : data }); - } else { - NSString * str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - callback->mHandler(nil, @ { @"value" : str }); - } - - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mOctetString; - bool mKeepAlive; -}; - -class CHIPBooleanAttributeCallbackBridge : public Callback::Callback { -public: - CHIPBooleanAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPBooleanAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, bool value) - { - CHIPBooleanAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithBool:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt8uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt8uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt8uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t value) - { - CHIPInt8uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedChar:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt8sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt8sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt8sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int8_t value) - { - CHIPInt8sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithChar:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt16uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt16uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt16uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t value) - { - CHIPInt16uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedShort:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt16sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt16sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt16sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int16_t value) - { - CHIPInt16sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithShort:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt32uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt32uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt32uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint32_t value) - { - CHIPInt32uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt32sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt32sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt32sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int32_t value) - { - CHIPInt32sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt64uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt64uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt64uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint64_t value) - { - CHIPInt64uAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithUnsignedLongLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPInt64sAttributeCallbackBridge : public Callback::Callback { -public: - CHIPInt64sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - , mKeepAlive(keepAlive) - { - } - - ~CHIPInt64sAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, int64_t value) - { - CHIPInt64sAttributeCallbackBridge * callback = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : [NSNumber numberWithLongLong:value] }); - if (!callback->mKeepAlive) { - callback->Cancel(); - delete callback; - } - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; - bool mKeepAlive; -}; - -class CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge - : public Callback::Callback { -public: - CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * setupPIN) - { - CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"setupPIN" : [NSString stringWithFormat:@"%s", setupPIN], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge - : public Callback::Callback { -public: - CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data) - { - CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPContentLaunchClusterLaunchContentResponseCallbackBridge - : public Callback::Callback { -public: - CHIPContentLaunchClusterLaunchContentResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPContentLaunchClusterLaunchContentResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) - { - CHIPContentLaunchClusterLaunchContentResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - @"contentLaunchStatus" : [NSNumber numberWithUnsignedChar:contentLaunchStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPContentLaunchClusterLaunchURLResponseCallbackBridge - : public Callback::Callback { -public: - CHIPContentLaunchClusterLaunchURLResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPContentLaunchClusterLaunchURLResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) - { - CHIPContentLaunchClusterLaunchURLResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - @"contentLaunchStatus" : [NSNumber numberWithUnsignedChar:contentLaunchStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearAllPinsResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearAllPinsResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearAllPinsResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearAllPinsResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearPinResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterClearPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearPinResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearPinResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearRfidResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterClearRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearRfidResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearRfidResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge() {}; - - static void CallbackFn( - void * context, uint8_t scheduleId, uint32_t localStartTime, uint32_t localEndTime, uint8_t operatingModeDuringHoliday) - { - CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"scheduleId" : [NSNumber numberWithUnsignedChar:scheduleId], - @"localStartTime" : [NSNumber numberWithUnsignedLong:localStartTime], - @"localEndTime" : [NSNumber numberWithUnsignedLong:localEndTime], - @"operatingModeDuringHoliday" : [NSNumber numberWithUnsignedChar:operatingModeDuringHoliday], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetLogRecordResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetLogRecordResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetLogRecordResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t logEntryId, uint32_t timestamp, uint8_t eventType, uint8_t source, - uint8_t eventIdOrAlarmCode, uint16_t userId, uint8_t * pin) - { - CHIPDoorLockClusterGetLogRecordResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"logEntryId" : [NSNumber numberWithUnsignedShort:logEntryId], - @"timestamp" : [NSNumber numberWithUnsignedLong:timestamp], - @"eventType" : [NSNumber numberWithUnsignedChar:eventType], - @"source" : [NSNumber numberWithUnsignedChar:source], - @"eventIdOrAlarmCode" : [NSNumber numberWithUnsignedChar:eventIdOrAlarmCode], - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"pin" : [NSString stringWithFormat:@"%s", pin], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetPinResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterGetPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetPinResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t userId, uint8_t userStatus, uint8_t userType, uint8_t * pin) - { - CHIPDoorLockClusterGetPinResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"userStatus" : [NSNumber numberWithUnsignedChar:userStatus], - @"userType" : [NSNumber numberWithUnsignedChar:userType], - @"pin" : [NSString stringWithFormat:@"%s", pin], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetRfidResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterGetRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetRfidResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t userId, uint8_t userStatus, uint8_t userType, uint8_t * rfid) - { - CHIPDoorLockClusterGetRfidResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"userStatus" : [NSNumber numberWithUnsignedChar:userStatus], - @"userType" : [NSNumber numberWithUnsignedChar:userType], - @"rfid" : [NSString stringWithFormat:@"%s", rfid], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetUserTypeResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterGetUserTypeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetUserTypeResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t userId, uint8_t userType) - { - CHIPDoorLockClusterGetUserTypeResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"userType" : [NSNumber numberWithUnsignedChar:userType], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t scheduleId, uint16_t userId, uint8_t daysMask, uint8_t startHour, - uint8_t startMinute, uint8_t endHour, uint8_t endMinute) - { - CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"scheduleId" : [NSNumber numberWithUnsignedChar:scheduleId], - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"daysMask" : [NSNumber numberWithUnsignedChar:daysMask], - @"startHour" : [NSNumber numberWithUnsignedChar:startHour], - @"startMinute" : [NSNumber numberWithUnsignedChar:startMinute], - @"endHour" : [NSNumber numberWithUnsignedChar:endHour], - @"endMinute" : [NSNumber numberWithUnsignedChar:endMinute], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t scheduleId, uint16_t userId, uint32_t localStartTime, uint32_t localEndTime) - { - CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"scheduleId" : [NSNumber numberWithUnsignedChar:scheduleId], - @"userId" : [NSNumber numberWithUnsignedShort:userId], - @"localStartTime" : [NSNumber numberWithUnsignedLong:localStartTime], - @"localEndTime" : [NSNumber numberWithUnsignedLong:localEndTime], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterLockDoorResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterLockDoorResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterLockDoorResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterLockDoorResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetPinResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterSetPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetPinResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetPinResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetRfidResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterSetRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetRfidResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetRfidResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetUserTypeResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterSetUserTypeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetUserTypeResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetUserTypeResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterUnlockDoorResponseCallbackBridge : public Callback::Callback { -public: - CHIPDoorLockClusterUnlockDoorResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterUnlockDoorResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterUnlockDoorResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge - : public Callback::Callback { -public: - CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterAddGroupResponseCallbackBridge : public Callback::Callback { -public: - CHIPGroupsClusterAddGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterAddGroupResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId) - { - CHIPGroupsClusterAddGroupResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge - : public Callback::Callback { -public: - CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge() {}; - - static void CallbackFn( - void * context, uint8_t capacity, uint8_t groupCount, /* TYPE WARNING: array array defaults to */ uint8_t * groupList) - { - CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"capacity" : [NSNumber numberWithUnsignedChar:capacity], - @"groupCount" : [NSNumber numberWithUnsignedChar:groupCount], - // groupList: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterRemoveGroupResponseCallbackBridge : public Callback::Callback { -public: - CHIPGroupsClusterRemoveGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterRemoveGroupResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId) - { - CHIPGroupsClusterRemoveGroupResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupsClusterViewGroupResponseCallbackBridge : public Callback::Callback { -public: - CHIPGroupsClusterViewGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupsClusterViewGroupResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t * groupName) - { - CHIPGroupsClusterViewGroupResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"groupName" : [NSString stringWithFormat:@"%s", groupName], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge - : public Callback::Callback { -public: - CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t timeout) - { - CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"timeout" : [NSNumber numberWithUnsignedShort:timeout], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPKeypadInputClusterSendKeyResponseCallbackBridge : public Callback::Callback { -public: - CHIPKeypadInputClusterSendKeyResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPKeypadInputClusterSendKeyResponseCallbackBridge() {}; - - static void CallbackFn(void * context) - { - CHIPKeypadInputClusterSendKeyResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ {}); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge - : public Callback::Callback { -public: - CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) - { - CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"mediaPlaybackStatus" : [NSNumber numberWithUnsignedChar:mediaPlaybackStatus], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText, - /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults, - /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults) - { - CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - // wifiScanResults: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - // threadScanResults: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge - : public Callback::Callback { -public: - CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) - { - CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"errorCode" : [NSNumber numberWithUnsignedChar:errorCode], - @"debugText" : [NSString stringWithFormat:@"%s", debugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPOperationalCredentialsClusterOpCSRResponseCallbackBridge - : public Callback::Callback { -public: - CHIPOperationalCredentialsClusterOpCSRResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPOperationalCredentialsClusterOpCSRResponseCallbackBridge() {}; - - static void CallbackFn(void * context, chip::ByteSpan CSR, chip::ByteSpan CSRNonce, chip::ByteSpan VendorReserved1, - chip::ByteSpan VendorReserved2, chip::ByteSpan VendorReserved3, chip::ByteSpan Signature) - { - CHIPOperationalCredentialsClusterOpCSRResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"CSR" : [NSData dataWithBytes:CSR.data() length:CSR.size()], - @"CSRNonce" : [NSData dataWithBytes:CSRNonce.data() length:CSRNonce.size()], - @"VendorReserved1" : [NSData dataWithBytes:VendorReserved1.data() length:VendorReserved1.size()], - @"VendorReserved2" : [NSData dataWithBytes:VendorReserved2.data() length:VendorReserved2.size()], - @"VendorReserved3" : [NSData dataWithBytes:VendorReserved3.data() length:VendorReserved3.size()], - @"Signature" : [NSData dataWithBytes:Signature.data() length:Signature.size()], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPOperationalCredentialsClusterOpCertResponseCallbackBridge - : public Callback::Callback { -public: - CHIPOperationalCredentialsClusterOpCertResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPOperationalCredentialsClusterOpCertResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t StatusCode, uint64_t FabricIndex, uint8_t * DebugText) - { - CHIPOperationalCredentialsClusterOpCertResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"StatusCode" : [NSNumber numberWithUnsignedChar:StatusCode], - @"FabricIndex" : [NSNumber numberWithUnsignedLongLong:FabricIndex], - @"DebugText" : [NSString stringWithFormat:@"%s", DebugText], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge - : public Callback::Callback { -public: - CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge() {}; - - static void CallbackFn(void * context, chip::FabricId FabricId) - { - CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"FabricId" : [NSNumber numberWithUnsignedLongLong:FabricId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterAddSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterAddSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterAddSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) - { - CHIPScenesClusterAddSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterGetSceneMembershipResponseCallbackBridge - : public Callback::Callback { -public: - CHIPScenesClusterGetSceneMembershipResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterGetSceneMembershipResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t capacity, uint16_t groupId, uint8_t sceneCount, - /* TYPE WARNING: array array defaults to */ uint8_t * sceneList) - { - CHIPScenesClusterGetSceneMembershipResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"capacity" : [NSNumber numberWithUnsignedChar:capacity], - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneCount" : [NSNumber numberWithUnsignedChar:sceneCount], - // sceneList: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterRemoveAllScenesResponseCallbackBridge - : public Callback::Callback { -public: - CHIPScenesClusterRemoveAllScenesResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterRemoveAllScenesResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId) - { - CHIPScenesClusterRemoveAllScenesResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterRemoveSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterRemoveSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterRemoveSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) - { - CHIPScenesClusterRemoveSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterStoreSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterStoreSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterStoreSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) - { - CHIPScenesClusterStoreSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPScenesClusterViewSceneResponseCallbackBridge : public Callback::Callback { -public: - CHIPScenesClusterViewSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPScenesClusterViewSceneResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId, uint16_t transitionTime, uint8_t * sceneName, - /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets) - { - CHIPScenesClusterViewSceneResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"groupId" : [NSNumber numberWithUnsignedShort:groupId], - @"sceneId" : [NSNumber numberWithUnsignedChar:sceneId], - @"transitionTime" : [NSNumber numberWithUnsignedShort:transitionTime], - @"sceneName" : [NSString stringWithFormat:@"%s", sceneName], - // extensionFieldSets: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTvChannelClusterChangeChannelResponseCallbackBridge - : public Callback::Callback { -public: - CHIPTvChannelClusterChangeChannelResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTvChannelClusterChangeChannelResponseCallbackBridge() {}; - - static void CallbackFn(void * context, /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch, uint8_t ErrorType) - { - CHIPTvChannelClusterChangeChannelResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - // ChannelMatch: /* TYPE WARNING: array array defaults to */ uint8_t * - // Conversion from this type to Objc is not properly implemented yet - @"ErrorType" : [NSNumber numberWithUnsignedChar:ErrorType], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge - : public Callback::Callback { -public: - CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t * data) - { - CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"data" : [NSString stringWithFormat:@"%s", data], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterClusterTestSpecificResponseCallbackBridge - : public Callback::Callback { -public: - CHIPTestClusterClusterTestSpecificResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterClusterTestSpecificResponseCallbackBridge() {}; - - static void CallbackFn(void * context, uint8_t returnValue) - { - CHIPTestClusterClusterTestSpecificResponseCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { - @"returnValue" : [NSNumber numberWithUnsignedChar:returnValue], - }); - callback->Cancel(); - delete callback; - }); - } - }; - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorDeviceListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorDeviceListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorDeviceListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _DeviceType * entries) - { - CHIPDescriptorDeviceListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedLong:entries[i].type], @"type", - [NSNumber numberWithUnsignedShort:entries[i].revision], @"revision", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorServerListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorServerListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorServerListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::ClusterId * entries) - { - CHIPDescriptorServerListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedShort:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorClientListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorClientListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorClientListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::ClusterId * entries) - { - CHIPDescriptorClientListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedShort:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPDescriptorPartsListAttributeCallbackBridge : public Callback::Callback { -public: - CHIPDescriptorPartsListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPDescriptorPartsListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::EndpointId * entries) - { - CHIPDescriptorPartsListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedChar:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _NetworkInterfaceType * entries) - { - CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] - initWithObjectsAndKeys:[NSData dataWithBytes:entries[i].Name.data() length:entries[i].Name.size()], @"Name", - [NSNumber numberWithUnsignedChar:entries[i].FabricConnected], @"FabricConnected", - [NSNumber numberWithUnsignedChar:entries[i].OffPremiseServicesReachableIPv4], - @"OffPremiseServicesReachableIPv4", - [NSNumber numberWithUnsignedChar:entries[i].OffPremiseServicesReachableIPv6], - @"OffPremiseServicesReachableIPv6", [NSNumber numberWithUnsignedLongLong:entries[i].HardwareAddress], - @"HardwareAddress", [NSNumber numberWithUnsignedChar:entries[i].Type], @"Type", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupKeyManagementGroupsAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPGroupKeyManagementGroupsAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupKeyManagementGroupsAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _GroupState * entries) - { - CHIPGroupKeyManagementGroupsAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedShort:entries[i].VendorId], - @"VendorId", [NSNumber numberWithUnsignedShort:entries[i].VendorGroupId], - @"VendorGroupId", [NSNumber numberWithUnsignedShort:entries[i].GroupKeySetIndex], - @"GroupKeySetIndex", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _GroupKey * entries) - { - CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedShort:entries[i].VendorId], @"VendorId", - [NSNumber numberWithUnsignedShort:entries[i].GroupKeyIndex], @"GroupKeyIndex", - [NSData dataWithBytes:entries[i].GroupKeyRoot.data() length:entries[i].GroupKeyRoot.size()], @"GroupKeyRoot", - [NSNumber numberWithUnsignedLongLong:entries[i].GroupKeyEpochStartTime], @"GroupKeyEpochStartTime", - [NSNumber numberWithUnsignedChar:entries[i].GroupKeySecurityPolicy], @"GroupKeySecurityPolicy", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPOperationalCredentialsFabricsListAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPOperationalCredentialsFabricsListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPOperationalCredentialsFabricsListAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _FabricDescriptor * entries) - { - CHIPOperationalCredentialsFabricsListAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedLongLong:entries[i].FabricId], - @"FabricId", [NSNumber numberWithUnsignedShort:entries[i].VendorId], @"VendorId", - [NSNumber numberWithUnsignedLongLong:entries[i].NodeId], @"NodeId", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterListInt8uAttributeCallbackBridge : public Callback::Callback { -public: - CHIPTestClusterListInt8uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterListInt8uAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, uint8_t * entries) - { - CHIPTestClusterListInt8uAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSNumber numberWithUnsignedChar:entries[i]]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterListOctetStringAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPTestClusterListOctetStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterListOctetStringAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, chip::ByteSpan * entries) - { - CHIPTestClusterListOctetStringAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [NSData dataWithBytes:entries[i].data() length:entries[i].size()]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -class CHIPTestClusterListStructOctetStringAttributeCallbackBridge - : public Callback::Callback { -public: - CHIPTestClusterListStructOctetStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) - : Callback::Callback(CallbackFn, this) - , mHandler(handler) - , mQueue(queue) - { - } - - ~CHIPTestClusterListStructOctetStringAttributeCallbackBridge() {}; - - static void CallbackFn(void * context, uint16_t count, _TestListStructOctet * entries) - { - CHIPTestClusterListStructOctetStringAttributeCallbackBridge * callback - = reinterpret_cast(context); - if (callback && callback->mQueue) { - id values[count]; - for (uint16_t i = 0; i < count; i++) { - values[i] = [[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedLongLong:entries[i].fabricIndex], @"fabricIndex", - [NSData dataWithBytes:entries[i].operationalCert.data() length:entries[i].operationalCert.size()], - @"operationalCert", nil]; - } - - id array = [NSArray arrayWithObjects:values count:count]; - dispatch_async(callback->mQueue, ^{ - callback->mHandler(nil, @ { @"value" : array }); - callback->Cancel(); - delete callback; - }); - } - } - -private: - ResponseHandler mHandler; - dispatch_queue_t mQueue; -}; - -@interface CHIPCluster () -@property (readonly, nonatomic) dispatch_queue_t callbackQueue; -@property (readonly, nonatomic) dispatch_queue_t chipWorkQueue; -- (Controller::ClusterBase *)getCluster; -@end - -@implementation CHIPCluster -- (instancetype)initWithDevice:(CHIPDevice *)device endpoint:(EndpointId)endpoint queue:(dispatch_queue_t)queue -{ - if (self = [super init]) { - Controller::ClusterBase * cppCluster = [self getCluster]; - if (cppCluster == nullptr) { - return nil; - } - - if (device == nullptr) { - return nil; - } - - CHIP_ERROR err = cppCluster->Associate([device internalDevice], endpoint); - if (err != CHIP_NO_ERROR) { - return nil; - } - - _chipWorkQueue = chip::DeviceLayer::PlatformMgrImpl().GetWorkQueue(); - if (_chipWorkQueue == nil) { - return nil; - } - - _callbackQueue = queue; - } - return self; -} - -- (Controller::ClusterBase *)getCluster -{ - return nullptr; -} -@end - -@interface CHIPAccountLogin () -@property (readonly) Controller::AccountLoginCluster cppCluster; -@end - -@implementation CHIPAccountLogin - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseHandler)responseHandler -{ - CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge * onSuccess - = new CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetSetupPIN(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [tempAccountIdentifier dataUsingEncoding:NSUTF8StringEncoding].bytes, - [tempAccountIdentifier lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Login(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [tempAccountIdentifier dataUsingEncoding:NSUTF8StringEncoding].bytes, - [tempAccountIdentifier lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - chip::ByteSpan((const uint8_t *) [setupPIN dataUsingEncoding:NSUTF8StringEncoding].bytes, - [setupPIN lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPApplicationBasic () -@property (readonly) Controller::ApplicationBasicCluster cppCluster; -@end - -@implementation CHIPApplicationBasic - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCatalogVendorId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationSatusWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationSatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPApplicationLauncher () -@property (readonly) Controller::ApplicationLauncherCluster cppCluster; -@end - -@implementation CHIPApplicationLauncher - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)launchApp:(NSString *)data - catalogVendorId:(uint16_t)catalogVendorId - applicationId:(NSString *)applicationId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge * onSuccess - = new CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LaunchApp(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [data dataUsingEncoding:NSUTF8StringEncoding].bytes, - [data lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - catalogVendorId, - chip::ByteSpan((const uint8_t *) [applicationId dataUsingEncoding:NSUTF8StringEncoding].bytes, - [applicationId lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeApplicationLauncherListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeApplicationLauncherList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPAudioOutput () -@property (readonly) Controller::AudioOutputCluster cppCluster; -@end - -@implementation CHIPAudioOutput - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RenameOutput(onSuccess->Cancel(), onFailure->Cancel(), index, - chip::ByteSpan((const uint8_t *) [name dataUsingEncoding:NSUTF8StringEncoding].bytes, - [name lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)selectOutput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SelectOutput(onSuccess->Cancel(), onFailure->Cancel(), index); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeAudioOutputListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeAudioOutputList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPBarrierControl () -@property (readonly) Controller::BarrierControlCluster cppCluster; -@end - -@implementation CHIPBarrierControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)barrierControlGoToPercent:(uint8_t)percentOpen responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.BarrierControlGoToPercent(onSuccess->Cancel(), onFailure->Cancel(), percentOpen); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)barrierControlStop:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.BarrierControlStop(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierMovingStateWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierMovingState(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierSafetyStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierCapabilities(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBarrierPositionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBarrierPosition(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPBasic () -@property (readonly) Controller::BasicCluster cppCluster; -@end - -@implementation CHIPBasic - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)mfgSpecificPing:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MfgSpecificPing(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInteractionModelVersionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInteractionModelVersion(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeVendorID(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductName(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductID(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - NSData * data = [value dataUsingEncoding:NSUTF8StringEncoding]; - err = self.cppCluster.WriteAttributeUserLabel( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) data.bytes, data.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLocation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - NSData * data = [value dataUsingEncoding:NSUTF8StringEncoding]; - err = self.cppCluster.WriteAttributeLocation( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) data.bytes, data.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeHardwareVersion(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeHardwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSoftwareVersion(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSoftwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeManufacturingDate(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePartNumber(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductURL(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeProductLabel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSerialNumber(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLocalConfigDisabledWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLocalConfigDisabled(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeLocalConfigDisabledWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeLocalConfigDisabled(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPBinding () -@property (readonly) Controller::BindingCluster cppCluster; -@end - -@implementation CHIPBinding - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)bind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Bind(onSuccess->Cancel(), onFailure->Cancel(), nodeId, groupId, endpointId, clusterId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)unbind:(uint64_t)nodeId - groupId:(uint16_t)groupId - endpointId:(uint8_t)endpointId - clusterId:(uint16_t)clusterId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Unbind(onSuccess->Cancel(), onFailure->Cancel(), nodeId, groupId, endpointId, clusterId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPColorControl () -@property (readonly) Controller::ColorControlCluster cppCluster; -@end - -@implementation CHIPColorControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)moveColor:(int16_t)rateX - rateY:(int16_t)rateY - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveColor(onSuccess->Cancel(), onFailure->Cancel(), rateX, rateY, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveColorTemperature:(uint8_t)moveMode - rate:(uint16_t)rate - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, - colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveHue:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveHue(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveSaturation:(uint8_t)moveMode - rate:(uint8_t)rate - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveSaturation( - onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToColor:(uint16_t)colorX - colorY:(uint16_t)colorY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToColor( - onSuccess->Cancel(), onFailure->Cancel(), colorX, colorY, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToColorTemperature:(uint16_t)colorTemperature - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToColorTemperature( - onSuccess->Cancel(), onFailure->Cancel(), colorTemperature, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToHue:(uint8_t)hue - direction:(uint8_t)direction - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToHue( - onSuccess->Cancel(), onFailure->Cancel(), hue, direction, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToHueAndSaturation:(uint8_t)hue - saturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToHueAndSaturation( - onSuccess->Cancel(), onFailure->Cancel(), hue, saturation, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToSaturation:(uint8_t)saturation - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToSaturation( - onSuccess->Cancel(), onFailure->Cancel(), saturation, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepColor:(int16_t)stepX - stepY:(int16_t)stepY - transitionTime:(uint16_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepColor( - onSuccess->Cancel(), onFailure->Cancel(), stepX, stepY, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepColorTemperature:(uint8_t)stepMode - stepSize:(uint16_t)stepSize - transitionTime:(uint16_t)transitionTime - colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum - colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, - colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepHue:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepHue( - onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepSaturation:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint8_t)transitionTime - optionsMask:(uint8_t)optionsMask - optionsOverride:(uint8_t)optionsOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepSaturation( - onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stopMoveStep:(uint8_t)optionsMask optionsOverride:(uint8_t)optionsOverride responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StopMoveStep(onSuccess->Cancel(), onFailure->Cancel(), optionsMask, optionsOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentHue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentHueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentHue( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentHueWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentHue(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentSaturation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentSaturation( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentSaturation(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeRemainingTimeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeRemainingTime(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentXWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentX( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentXWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentX(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentYWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentY( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentYWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentY(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeDriftCompensationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeDriftCompensation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCompensationTextWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCompensationText(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorTemperature(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeColorTemperature( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeColorTemperatureWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeColorTemperature(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorControlOptionsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorControlOptions(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorControlOptionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorControlOptions(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeNumberOfPrimariesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNumberOfPrimaries(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary1XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary1X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary1YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary1Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary1IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary1Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary2XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary2X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary2YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary2Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary2IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary2Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary3XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary3X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary3YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary3Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary3IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary3Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary4XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary4X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary4YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary4Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary4IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary4Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary5XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary5X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary5YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary5Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary5IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary5Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary6XWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary6X(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary6YWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary6Y(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePrimary6IntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePrimary6Intensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeWhitePointXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWhitePointX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeWhitePointXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeWhitePointX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeWhitePointYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWhitePointY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeWhitePointYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeWhitePointY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointRXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointRX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointRXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointRX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointRYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointRY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointRYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointRY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointRIntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointRIntensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointRIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointRIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointGXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointGX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointGXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointGX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointGYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointGY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointGYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointGY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointGIntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointGIntensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointGIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointGIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointBXWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointBX(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointBXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointBX(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointBYWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointBY(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointBYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointBY(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorPointBIntensityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorPointBIntensity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeColorPointBIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeColorPointBIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnhancedCurrentHueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnhancedCurrentHue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnhancedColorModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnhancedColorMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorLoopActiveWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorLoopActive(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorLoopDirectionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorLoopDirection(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorLoopTimeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorLoopTime(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorCapabilities(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorTempPhysicalMinWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorTempPhysicalMin(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeColorTempPhysicalMaxWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeColorTempPhysicalMax(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCoupleColorTempToLevelMinMireds(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeStartUpColorTemperatureMiredsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeStartUpColorTemperatureMireds(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeStartUpColorTemperatureMireds(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPContentLaunch () -@property (readonly) Controller::ContentLaunchCluster cppCluster; -@end - -@implementation CHIPContentLaunch - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)launchContent:(uint8_t)autoPlay data:(NSString *)data responseHandler:(ResponseHandler)responseHandler -{ - CHIPContentLaunchClusterLaunchContentResponseCallbackBridge * onSuccess - = new CHIPContentLaunchClusterLaunchContentResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LaunchContent(onSuccess->Cancel(), onFailure->Cancel(), autoPlay, - chip::ByteSpan((const uint8_t *) [data dataUsingEncoding:NSUTF8StringEncoding].bytes, - [data lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString responseHandler:(ResponseHandler)responseHandler -{ - CHIPContentLaunchClusterLaunchURLResponseCallbackBridge * onSuccess - = new CHIPContentLaunchClusterLaunchURLResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LaunchURL(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [contentURL dataUsingEncoding:NSUTF8StringEncoding].bytes, - [contentURL lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - chip::ByteSpan((const uint8_t *) [displayString dataUsingEncoding:NSUTF8StringEncoding].bytes, - [displayString lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeAcceptsHeaderListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeAcceptsHeaderList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSupportedStreamingTypesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSupportedStreamingTypes(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPDescriptor () -@property (readonly) Controller::DescriptorCluster cppCluster; -@end - -@implementation CHIPDescriptor - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeDeviceListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorDeviceListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorDeviceListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeDeviceList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeServerListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorServerListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorServerListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeServerList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClientListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorClientListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorClientListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClientList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributePartsListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPDescriptorPartsListAttributeCallbackBridge * onSuccess - = new CHIPDescriptorPartsListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributePartsList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPDoorLock () -@property (readonly) Controller::DoorLockCluster cppCluster; -@end - -@implementation CHIPDoorLock - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)clearAllPins:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearAllPinsResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearAllPinsResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearAllPins(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearAllRfids:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearAllRfids(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearHolidaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearPinResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearPinResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearPin(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearRfidResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearRfidResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearRfid(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearWeekdaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearYeardaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetHolidaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getLogRecord:(uint16_t)logIndex responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetLogRecordResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetLogRecordResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetLogRecord(onSuccess->Cancel(), onFailure->Cancel(), logIndex); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetPinResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetPinResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetPin(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetRfidResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetRfidResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getUserType:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetUserTypeResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetUserTypeResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetWeekdaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetYeardaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)lockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterLockDoorResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterLockDoorResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.LockDoor(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setHolidaySchedule:(uint8_t)scheduleId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetHolidaySchedule( - onSuccess->Cancel(), onFailure->Cancel(), scheduleId, localStartTime, localEndTime, operatingModeDuringHoliday); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setPin:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - pin:(NSString *)pin - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetPinResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetPinResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetPin(onSuccess->Cancel(), onFailure->Cancel(), userId, userStatus, userType, - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setRfid:(uint16_t)userId - userStatus:(uint8_t)userStatus - userType:(uint8_t)userType - id:(NSString *)id - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetRfidResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetRfidResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId, userStatus, userType, - chip::ByteSpan((const uint8_t *) [id dataUsingEncoding:NSUTF8StringEncoding].bytes, - [id lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetUserTypeResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetUserTypeResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId, userType); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setWeekdaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - daysMask:(uint8_t)daysMask - startHour:(uint8_t)startHour - startMinute:(uint8_t)startMinute - endHour:(uint8_t)endHour - endMinute:(uint8_t)endMinute - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetWeekdaySchedule( - onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId, daysMask, startHour, startMinute, endHour, endMinute); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setYeardaySchedule:(uint8_t)scheduleId - userId:(uint16_t)userId - localStartTime:(uint32_t)localStartTime - localEndTime:(uint32_t)localEndTime - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetYeardaySchedule( - onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId, localStartTime, localEndTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)unlockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterUnlockDoorResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterUnlockDoorResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UnlockDoor(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin responseHandler:(ResponseHandler)responseHandler -{ - CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge * onSuccess - = new CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UnlockWithTimeout(onSuccess->Cancel(), onFailure->Cancel(), timeoutInSeconds, - chip::ByteSpan((const uint8_t *) [pin dataUsingEncoding:NSUTF8StringEncoding].bytes, - [pin lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLockState(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeLockStateWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeLockState(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeLockStateWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeLockState(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLockTypeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLockType(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeActuatorEnabledWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeActuatorEnabled(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGeneralCommissioning () -@property (readonly) Controller::GeneralCommissioningCluster cppCluster; -@end - -@implementation CHIPGeneralCommissioning - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)armFailSafe:(uint16_t)expiryLengthSeconds - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge * onSuccess - = new CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ArmFailSafe(onSuccess->Cancel(), onFailure->Cancel(), expiryLengthSeconds, breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)commissioningComplete:(ResponseHandler)responseHandler -{ - CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge * onSuccess - = new CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.CommissioningComplete(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setRegulatoryConfig:(uint8_t)location - countryCode:(NSString *)countryCode - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge * onSuccess - = new CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetRegulatoryConfig(onSuccess->Cancel(), onFailure->Cancel(), location, - chip::ByteSpan((const uint8_t *) [countryCode dataUsingEncoding:NSUTF8StringEncoding].bytes, - [countryCode lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeFabricIdWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeFabricId(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBreadcrumbWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBreadcrumb(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBreadcrumbWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBreadcrumb(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGeneralDiagnostics () -@property (readonly) Controller::GeneralDiagnosticsCluster cppCluster; -@end - -@implementation CHIPGeneralDiagnostics - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeNetworkInterfacesWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge * onSuccess - = new CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNetworkInterfaces(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeRebootCountWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeRebootCount(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGroupKeyManagement () -@property (readonly) Controller::GroupKeyManagementCluster cppCluster; -@end - -@implementation CHIPGroupKeyManagement - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeGroupsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupKeyManagementGroupsAttributeCallbackBridge * onSuccess - = new CHIPGroupKeyManagementGroupsAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeGroups(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeGroupKeysWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge * onSuccess - = new CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeGroupKeys(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPGroups () -@property (readonly) Controller::GroupsCluster cppCluster; -@end - -@implementation CHIPGroups - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterAddGroupResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterAddGroupResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId, - chip::ByteSpan((const uint8_t *) [groupName dataUsingEncoding:NSUTF8StringEncoding].bytes, - [groupName lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddGroupIfIdentifying(onSuccess->Cancel(), onFailure->Cancel(), groupId, - chip::ByteSpan((const uint8_t *) [groupName dataUsingEncoding:NSUTF8StringEncoding].bytes, - [groupName lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetGroupMembership(onSuccess->Cancel(), onFailure->Cancel(), groupCount, groupList); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeAllGroups:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveAllGroups(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterRemoveGroupResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterRemoveGroupResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)viewGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPGroupsClusterViewGroupResponseCallbackBridge * onSuccess - = new CHIPGroupsClusterViewGroupResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ViewGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNameSupport(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPIdentify () -@property (readonly) Controller::IdentifyCluster cppCluster; -@end - -@implementation CHIPIdentify - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)identify:(uint16_t)identifyTime responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Identify(onSuccess->Cancel(), onFailure->Cancel(), identifyTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)identifyQuery:(ResponseHandler)responseHandler -{ - CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge * onSuccess - = new CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.IdentifyQuery(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeIdentifyTimeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeIdentifyTime(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeIdentifyTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeIdentifyTime(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPKeypadInput () -@property (readonly) Controller::KeypadInputCluster cppCluster; -@end - -@implementation CHIPKeypadInput - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandler -{ - CHIPKeypadInputClusterSendKeyResponseCallbackBridge * onSuccess - = new CHIPKeypadInputClusterSendKeyResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SendKey(onSuccess->Cancel(), onFailure->Cancel(), keyCode); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPLevelControl () -@property (readonly) Controller::LevelControlCluster cppCluster; -@end - -@implementation CHIPLevelControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)move:(uint8_t)moveMode - rate:(uint8_t)rate - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Move(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToLevel:(uint8_t)level - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToLevel( - onSuccess->Cancel(), onFailure->Cancel(), level, transitionTime, optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveToLevelWithOnOff:(uint8_t)level transitionTime:(uint16_t)transitionTime responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveToLevelWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), level, transitionTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MoveWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)step:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - optionMask:(uint8_t)optionMask - optionOverride:(uint8_t)optionOverride - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Step( - onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stepWithOnOff:(uint8_t)stepMode - stepSize:(uint8_t)stepSize - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StepWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Stop(onSuccess->Cancel(), onFailure->Cancel(), optionMask, optionOverride); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)stopWithOnOff:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StopWithOnOff(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentLevel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentLevel( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentLevelWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentLevel(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPLowPower () -@property (readonly) Controller::LowPowerCluster cppCluster; -@end - -@implementation CHIPLowPower - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)sleep:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Sleep(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPMediaInput () -@property (readonly) Controller::MediaInputCluster cppCluster; -@end - -@implementation CHIPMediaInput - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)hideInputStatus:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.HideInputStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RenameInput(onSuccess->Cancel(), onFailure->Cancel(), index, - chip::ByteSpan((const uint8_t *) [name dataUsingEncoding:NSUTF8StringEncoding].bytes, - [name lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)selectInput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SelectInput(onSuccess->Cancel(), onFailure->Cancel(), index); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)showInputStatus:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ShowInputStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMediaInputListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMediaInputList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPMediaPlayback () -@property (readonly) Controller::MediaPlaybackCluster cppCluster; -@end - -@implementation CHIPMediaPlayback - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)mediaFastForward:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaFastForward(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaNext:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaNext(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaPause:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaPause(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaPlay:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaPlay(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaPrevious:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaPrevious(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaRewind:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaRewind(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaSkipBackward(onSuccess->Cancel(), onFailure->Cancel(), deltaPositionMilliseconds); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaSkipForward(onSuccess->Cancel(), onFailure->Cancel(), deltaPositionMilliseconds); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaSkipSeek:(uint64_t)position responseHandler:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaSkipSeek(onSuccess->Cancel(), onFailure->Cancel(), position); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaStartOver:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaStartOver(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)mediaStop:(ResponseHandler)responseHandler -{ - CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge * onSuccess - = new CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.MediaStop(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPNetworkCommissioning () -@property (readonly) Controller::NetworkCommissioningCluster cppCluster; -@end - -@implementation CHIPNetworkCommissioning - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddThreadNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) operationalDataset.bytes, operationalDataset.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)addWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddWiFiNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) ssid.bytes, ssid.length), - chip::ByteSpan((const uint8_t *) credentials.bytes, credentials.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)disableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.DisableNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) networkID.bytes, networkID.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)enableNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.EnableNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) networkID.bytes, networkID.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetLastNetworkCommissioningResult(onSuccess->Cancel(), onFailure->Cancel(), timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeNetwork:(NSData *)networkID - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) networkID.bytes, networkID.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)scanNetworks:(NSData *)ssid - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ScanNetworks(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) ssid.bytes, ssid.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)updateThreadNetwork:(NSData *)operationalDataset - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UpdateThreadNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) operationalDataset.bytes, operationalDataset.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)updateWiFiNetwork:(NSData *)ssid - credentials:(NSData *)credentials - breadcrumb:(uint64_t)breadcrumb - timeoutMs:(uint32_t)timeoutMs - responseHandler:(ResponseHandler)responseHandler -{ - CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge * onSuccess - = new CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UpdateWiFiNetwork(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) ssid.bytes, ssid.length), - chip::ByteSpan((const uint8_t *) credentials.bytes, credentials.length), breadcrumb, timeoutMs); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPOnOff () -@property (readonly) Controller::OnOffCluster cppCluster; -@end - -@implementation CHIPOnOff - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)off:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Off(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)on:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.On(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)toggle:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Toggle(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOnOff(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeOnOffWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeOnOff(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeOnOffWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPBooleanAttributeCallbackBridge * onReport - = new CHIPBooleanAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeOnOff(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPOperationalCredentials () -@property (readonly) Controller::OperationalCredentialsCluster cppCluster; -@end - -@implementation CHIPOperationalCredentials - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addOpCert:(NSData *)noc - iCACertificate:(NSData *)iCACertificate - iPKValue:(NSData *)iPKValue - caseAdminNode:(uint64_t)caseAdminNode - adminVendorId:(uint16_t)adminVendorId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddOpCert(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) noc.bytes, noc.length), - chip::ByteSpan((const uint8_t *) iCACertificate.bytes, iCACertificate.length), - chip::ByteSpan((const uint8_t *) iPKValue.bytes, iPKValue.length), caseAdminNode, adminVendorId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)opCSRRequest:(NSData *)cSRNonce responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.OpCSRRequest( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) cSRNonce.bytes, cSRNonce.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeAllFabrics:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveAllFabrics(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeFabric:(uint64_t)fabricId - nodeId:(uint64_t)nodeId - vendorId:(uint16_t)vendorId - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveFabric(onSuccess->Cancel(), onFailure->Cancel(), fabricId, nodeId, vendorId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setFabric:(uint16_t)vendorId responseHandler:(ResponseHandler)responseHandler -{ - CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge * onSuccess - = new CHIPOperationalCredentialsClusterSetFabricResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetFabric(onSuccess->Cancel(), onFailure->Cancel(), vendorId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.UpdateFabricLabel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [label dataUsingEncoding:NSUTF8StringEncoding].bytes, - [label lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeFabricsListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPOperationalCredentialsFabricsListAttributeCallbackBridge * onSuccess - = new CHIPOperationalCredentialsFabricsListAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeFabricsList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPPumpConfigurationAndControl () -@property (readonly) Controller::PumpConfigurationAndControlCluster cppCluster; -@end - -@implementation CHIPPumpConfigurationAndControl - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeMaxPressureWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxPressure(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMaxSpeedWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxSpeed(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMaxFlowWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxFlow(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEffectiveOperationModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEffectiveOperationMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEffectiveControlModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEffectiveControlMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCapacity(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCapacityWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCapacity( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCapacityWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCapacity(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOperationModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOperationMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOperationMode(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPScenes () -@property (readonly) Controller::ScenesCluster cppCluster; -@end - -@implementation CHIPScenes - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - sceneName:(NSString *)sceneName - clusterId:(uint16_t)clusterId - length:(uint8_t)length - value:(uint8_t)value - responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterAddSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterAddSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId, transitionTime, - chip::ByteSpan((const uint8_t *) [sceneName dataUsingEncoding:NSUTF8StringEncoding].bytes, - [sceneName lengthOfBytesUsingEncoding:NSUTF8StringEncoding]), - clusterId, length, value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getSceneMembership:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterGetSceneMembershipResponseCallbackBridge * onSuccess - = new CHIPScenesClusterGetSceneMembershipResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetSceneMembership(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)recallScene:(uint16_t)groupId - sceneId:(uint8_t)sceneId - transitionTime:(uint16_t)transitionTime - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RecallScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId, transitionTime); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeAllScenes:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterRemoveAllScenesResponseCallbackBridge * onSuccess - = new CHIPScenesClusterRemoveAllScenesResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveAllScenes(onSuccess->Cancel(), onFailure->Cancel(), groupId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterRemoveSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterRemoveSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterStoreSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterStoreSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.StoreScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler -{ - CHIPScenesClusterViewSceneResponseCallbackBridge * onSuccess - = new CHIPScenesClusterViewSceneResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ViewScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSceneCountWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSceneCount(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentSceneWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentScene(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentGroupWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentGroup(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSceneValidWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSceneValid(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNameSupport(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPSwitch () -@property (readonly) Controller::SwitchCluster cppCluster; -@end - -@implementation CHIPSwitch - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeNumberOfPositionsWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeNumberOfPositions(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentPosition(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint8_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentPosition( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentPositionWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentPosition(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTvChannel () -@property (readonly) Controller::TvChannelCluster cppCluster; -@end - -@implementation CHIPTvChannel - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)responseHandler -{ - CHIPTvChannelClusterChangeChannelResponseCallbackBridge * onSuccess - = new CHIPTvChannelClusterChangeChannelResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ChangeChannel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) [match dataUsingEncoding:NSUTF8StringEncoding].bytes, - [match lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)changeChannelByNumber:(uint16_t)majorNumber - minorNumber:(uint16_t)minorNumber - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ChangeChannelByNumber(onSuccess->Cancel(), onFailure->Cancel(), majorNumber, minorNumber); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)skipChannel:(uint16_t)count responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SkipChannel(onSuccess->Cancel(), onFailure->Cancel(), count); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeTvChannelListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeTvChannelList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeTvChannelLineupWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeTvChannelLineup(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentTvChannelWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentTvChannel(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTargetNavigator () -@property (readonly) Controller::TargetNavigatorCluster cppCluster; -@end - -@implementation CHIPTargetNavigator - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(ResponseHandler)responseHandler -{ - CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge * onSuccess - = new CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.NavigateTarget(onSuccess->Cancel(), onFailure->Cancel(), target, - chip::ByteSpan((const uint8_t *) [data dataUsingEncoding:NSUTF8StringEncoding].bytes, - [data lengthOfBytesUsingEncoding:NSUTF8StringEncoding])); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeTargetNavigatorListWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeTargetNavigatorList(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTemperatureMeasurement () -@property (readonly) Controller::TemperatureMeasurementCluster cppCluster; -@end - -@implementation CHIPTemperatureMeasurement - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeMeasuredValue( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeMeasuredValue(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMinMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMaxMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTestCluster () -@property (readonly) Controller::TestClusterCluster cppCluster; -@end - -@implementation CHIPTestCluster - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)test:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.Test(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)testNotHandled:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.TestNotHandled(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)testSpecific:(ResponseHandler)responseHandler -{ - CHIPTestClusterClusterTestSpecificResponseCallbackBridge * onSuccess - = new CHIPTestClusterClusterTestSpecificResponseCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.TestSpecific(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBooleanWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPBooleanAttributeCallbackBridge * onSuccess = new CHIPBooleanAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBoolean(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBooleanWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBoolean(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap8WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap8(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap8(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap16WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap16(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap16(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap32WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap32(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap32WithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap32(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeBitmap64WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeBitmap64(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeBitmap64WithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeBitmap64(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt8uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt8u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt8uWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt8u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt16uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt16u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt16uWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt16u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt32uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt32u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt32uWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt32u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt64uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt64u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt64uWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt64u(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt8sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8sAttributeCallbackBridge * onSuccess = new CHIPInt8sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt8s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt8sWithValue:(int8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt8s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt16sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt16s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt16sWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt16s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt32sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt32sAttributeCallbackBridge * onSuccess = new CHIPInt32sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt32s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt32sWithValue:(int32_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt32s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInt64sWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt64sAttributeCallbackBridge * onSuccess = new CHIPInt64sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInt64s(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeInt64sWithValue:(int64_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeInt64s(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnum8WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnum8(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeEnum8(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeEnum16WithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeEnum16(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeEnum16(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOctetStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], true); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOctetString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOctetString( - onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t *) value.bytes, value.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeListInt8uWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPTestClusterListInt8uAttributeCallbackBridge * onSuccess - = new CHIPTestClusterListInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeListInt8u(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeListOctetStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPTestClusterListOctetStringAttributeCallbackBridge * onSuccess - = new CHIPTestClusterListOctetStringAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeListOctetString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeListStructOctetStringWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPTestClusterListStructOctetStringAttributeCallbackBridge * onSuccess - = new CHIPTestClusterListStructOctetStringAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeListStructOctetString(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPThermostat () -@property (readonly) Controller::ThermostatCluster cppCluster; -@end - -@implementation CHIPThermostat - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)clearWeeklySchedule:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ClearWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getRelayStatusLog:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetRelayStatusLog(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)getWeeklySchedule:(uint8_t)daysToReturn modeToReturn:(uint8_t)modeToReturn responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.GetWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel(), daysToReturn, modeToReturn); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence - dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence - modeForSequence:(uint8_t)modeForSequence - payload:(uint8_t)payload - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel(), numberOfTransitionsForSequence, - dayOfWeekForSequence, modeForSequence, payload); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.SetpointRaiseLower(onSuccess->Cancel(), onFailure->Cancel(), mode, amount); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeLocalTemperature(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(int16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeLocalTemperature( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeLocalTemperature(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOccupiedCoolingSetpointWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOccupiedCoolingSetpoint(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOccupiedCoolingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOccupiedCoolingSetpoint(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeOccupiedHeatingSetpointWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeOccupiedHeatingSetpoint(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeOccupiedHeatingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeOccupiedHeatingSetpoint(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeControlSequenceOfOperationWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeControlSequenceOfOperation(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeControlSequenceOfOperation(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeSystemModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeSystemMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeSystemMode(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPTrustedRootCertificates () -@property (readonly) Controller::TrustedRootCertificatesCluster cppCluster; -@end - -@implementation CHIPTrustedRootCertificates - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)addTrustedRootCertificate:(NSData *)rootCertificate responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.AddTrustedRootCertificate(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) rootCertificate.bytes, rootCertificate.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)removeTrustedRootCertificate:(NSData *)trustedRootIdentifier responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.RemoveTrustedRootCertificate(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) trustedRootIdentifier.bytes, trustedRootIdentifier.length)); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPWakeOnLan () -@property (readonly) Controller::WakeOnLanCluster cppCluster; -@end - -@implementation CHIPWakeOnLan - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)readAttributeWakeOnLanMacAddressWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPStringAttributeCallbackBridge * onSuccess - = new CHIPStringAttributeCallbackBridge(responseHandler, [self callbackQueue], false); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWakeOnLanMacAddress(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end - -@interface CHIPWindowCovering () -@property (readonly) Controller::WindowCoveringCluster cppCluster; -@end - -@implementation CHIPWindowCovering - -- (Controller::ClusterBase *)getCluster -{ - return &_cppCluster; -} - -- (void)windowCoveringDownClose:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringDownClose(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)windowCoveringGoToLiftPercentage:(uint8_t)percentageLiftValue responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringGoToLiftPercentage(onSuccess->Cancel(), onFailure->Cancel(), percentageLiftValue); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)windowCoveringGoToLiftValue:(uint16_t)liftValue responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringGoToLiftValue(onSuccess->Cancel(), onFailure->Cancel(), liftValue); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)windowCoveringGoToTiltPercentage:(uint8_t)percentageTiltValue responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringGoToTiltPercentage(onSuccess->Cancel(), onFailure->Cancel(), percentageTiltValue); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)windowCoveringGoToTiltValue:(uint16_t)tiltValue responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringGoToTiltValue(onSuccess->Cancel(), onFailure->Cancel(), tiltValue); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)windowCoveringStop:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringStop(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} -- (void)windowCoveringUpOpen:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WindowCoveringUpOpen(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeWindowCoveringTypeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeWindowCoveringType(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeWindowCoveringTypeWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeWindowCoveringType( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeWindowCoveringTypeWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeWindowCoveringType(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentPositionLiftWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentPositionLift(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentPositionLiftWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentPositionLift( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentPositionLiftWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentPositionLift(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeCurrentPositionTiltWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeCurrentPositionTilt(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeCurrentPositionTiltWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - change:(uint16_t)change - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeCurrentPositionTilt( - onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeCurrentPositionTiltWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeCurrentPositionTilt(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeConfigStatusWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeConfigStatus(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)configureAttributeConfigStatusWithMinInterval:(uint16_t)minInterval - maxInterval:(uint16_t)maxInterval - responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ConfigureAttributeConfigStatus(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)reportAttributeConfigStatusWithResponseHandler:(ResponseHandler)reportHandler -{ - CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); - if (!onReport) { - reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReportAttributeConfigStatus(onReport->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onReport; - reportHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInstalledOpenLimitLiftWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInstalledOpenLimitLift(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInstalledClosedLimitLiftWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInstalledClosedLimitLift(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInstalledOpenLimitTiltWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInstalledOpenLimitTilt(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeInstalledClosedLimitTiltWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeInstalledClosedLimitTilt(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeModeWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeMode(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)writeAttributeModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler -{ - CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.WriteAttributeMode(onSuccess->Cancel(), onFailure->Cancel(), value); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler -{ - CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(responseHandler, [self callbackQueue]); - if (!onSuccess) { - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(responseHandler, [self callbackQueue]); - if (!onFailure) { - delete onSuccess; - responseHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); - return; - } - - __block CHIP_ERROR err; - dispatch_sync([self chipWorkQueue], ^{ - err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); - }); - - if (err != CHIP_NO_ERROR) { - delete onSuccess; - delete onFailure; - responseHandler([CHIPError errorForCHIPErrorCode:err], nil); - } -} - -@end