| /* |
| * |
| * 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 <Foundation/Foundation.h> |
| |
| #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 <lib/support/Span.h> |
| |
| using namespace ::chip; |
| |
| class CHIPDefaultSuccessCallbackBridge : public Callback::Callback<DefaultSuccessCallback> { |
| public: |
| CHIPDefaultSuccessCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DefaultSuccessCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDefaultSuccessCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDefaultSuccessCallbackBridge * callback = reinterpret_cast<CHIPDefaultSuccessCallbackBridge *>(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<DefaultFailureCallback> { |
| public: |
| CHIPDefaultFailureCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DefaultFailureCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDefaultFailureCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t status) |
| { |
| CHIPDefaultFailureCallbackBridge * callback = reinterpret_cast<CHIPDefaultFailureCallbackBridge *>(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<StringAttributeCallback> { |
| public: |
| CHIPStringAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool octetString, bool keepAlive = false) |
| : Callback::Callback<StringAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mOctetString(octetString) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPStringAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, chip::ByteSpan value) |
| { |
| CHIPStringAttributeCallbackBridge * callback = reinterpret_cast<CHIPStringAttributeCallbackBridge *>(context); |
| if (callback && callback->mQueue) { |
| dispatch_async(callback->mQueue, ^{ |
| if (callback->mOctetString) { |
| NSData * data = [NSData dataWithBytes:value.data() length:value.size()]; |
| callback->mHandler(nil, @ { @"value" : data }); |
| } else { |
| NSString * str = [[NSString alloc] initWithBytes:value.data() |
| length:value.size() |
| 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<BooleanAttributeCallback> { |
| public: |
| CHIPBooleanAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<BooleanAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPBooleanAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, bool value) |
| { |
| CHIPBooleanAttributeCallbackBridge * callback = reinterpret_cast<CHIPBooleanAttributeCallbackBridge *>(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<Int8uAttributeCallback> { |
| public: |
| CHIPInt8uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<Int8uAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPInt8uAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t value) |
| { |
| CHIPInt8uAttributeCallbackBridge * callback = reinterpret_cast<CHIPInt8uAttributeCallbackBridge *>(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<Int8sAttributeCallback> { |
| public: |
| CHIPInt8sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<Int8sAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPInt8sAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, int8_t value) |
| { |
| CHIPInt8sAttributeCallbackBridge * callback = reinterpret_cast<CHIPInt8sAttributeCallbackBridge *>(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<Int16uAttributeCallback> { |
| public: |
| CHIPInt16uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<Int16uAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPInt16uAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t value) |
| { |
| CHIPInt16uAttributeCallbackBridge * callback = reinterpret_cast<CHIPInt16uAttributeCallbackBridge *>(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 CHIPInt32uAttributeCallbackBridge : public Callback::Callback<Int32uAttributeCallback> { |
| public: |
| CHIPInt32uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<Int32uAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPInt32uAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint32_t value) |
| { |
| CHIPInt32uAttributeCallbackBridge * callback = reinterpret_cast<CHIPInt32uAttributeCallbackBridge *>(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 CHIPInt64uAttributeCallbackBridge : public Callback::Callback<Int64uAttributeCallback> { |
| public: |
| CHIPInt64uAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<Int64uAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPInt64uAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint64_t value) |
| { |
| CHIPInt64uAttributeCallbackBridge * callback = reinterpret_cast<CHIPInt64uAttributeCallbackBridge *>(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 CHIPInt16sAttributeCallbackBridge : public Callback::Callback<Int16sAttributeCallback> { |
| public: |
| CHIPInt16sAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue, bool keepAlive = false) |
| : Callback::Callback<Int16sAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| , mKeepAlive(keepAlive) |
| { |
| } |
| |
| ~CHIPInt16sAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, int16_t value) |
| { |
| CHIPInt16sAttributeCallbackBridge * callback = reinterpret_cast<CHIPInt16sAttributeCallbackBridge *>(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 CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge |
| : public Callback::Callback<AccountLoginClusterGetSetupPINResponseCallback> { |
| public: |
| CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<AccountLoginClusterGetSetupPINResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t * setupPIN) |
| { |
| CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge *>(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<ApplicationLauncherClusterLaunchAppResponseCallback> { |
| public: |
| CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ApplicationLauncherClusterLaunchAppResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t * data) |
| { |
| CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge *>(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<ContentLaunchClusterLaunchContentResponseCallback> { |
| public: |
| CHIPContentLaunchClusterLaunchContentResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ContentLaunchClusterLaunchContentResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPContentLaunchClusterLaunchContentResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) |
| { |
| CHIPContentLaunchClusterLaunchContentResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPContentLaunchClusterLaunchContentResponseCallbackBridge *>(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<ContentLaunchClusterLaunchURLResponseCallback> { |
| public: |
| CHIPContentLaunchClusterLaunchURLResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ContentLaunchClusterLaunchURLResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPContentLaunchClusterLaunchURLResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) |
| { |
| CHIPContentLaunchClusterLaunchURLResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPContentLaunchClusterLaunchURLResponseCallbackBridge *>(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<DoorLockClusterClearAllPinsResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearAllPinsResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearAllPinsResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearAllPinsResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearAllPinsResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearAllPinsResponseCallbackBridge *>(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<DoorLockClusterClearAllRfidsResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearAllRfidsResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge *>(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<DoorLockClusterClearHolidayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearHolidayScheduleResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge *>(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<DoorLockClusterClearPinResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearPinResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearPinResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearPinResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearPinResponseCallbackBridge *>(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<DoorLockClusterClearRfidResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearRfidResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearRfidResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearRfidResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearRfidResponseCallbackBridge *>(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<DoorLockClusterClearWeekdayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearWeekdayScheduleResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge *>(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<DoorLockClusterClearYeardayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterClearYeardayScheduleResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge *>(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<DoorLockClusterGetHolidayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetHolidayScheduleResponseCallback>(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<CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge *>(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<DoorLockClusterGetLogRecordResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetLogRecordResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetLogRecordResponseCallback>(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<CHIPDoorLockClusterGetLogRecordResponseCallbackBridge *>(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<DoorLockClusterGetPinResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetPinResponseCallback>(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<CHIPDoorLockClusterGetPinResponseCallbackBridge *>(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<DoorLockClusterGetRfidResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetRfidResponseCallback>(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<CHIPDoorLockClusterGetRfidResponseCallbackBridge *>(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<DoorLockClusterGetUserTypeResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetUserTypeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetUserTypeResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterGetUserTypeResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t userId, uint8_t userType) |
| { |
| CHIPDoorLockClusterGetUserTypeResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterGetUserTypeResponseCallbackBridge *>(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<DoorLockClusterGetWeekdayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetWeekdayScheduleResponseCallback>(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<CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge *>(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<DoorLockClusterGetYeardayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterGetYeardayScheduleResponseCallback>(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<CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge *>(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<DoorLockClusterLockDoorResponseCallback> { |
| public: |
| CHIPDoorLockClusterLockDoorResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterLockDoorResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterLockDoorResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterLockDoorResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterLockDoorResponseCallbackBridge *>(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<DoorLockClusterSetHolidayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterSetHolidayScheduleResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge *>(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<DoorLockClusterSetPinResponseCallback> { |
| public: |
| CHIPDoorLockClusterSetPinResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterSetPinResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterSetPinResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterSetPinResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterSetPinResponseCallbackBridge *>(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<DoorLockClusterSetRfidResponseCallback> { |
| public: |
| CHIPDoorLockClusterSetRfidResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterSetRfidResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterSetRfidResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterSetRfidResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterSetRfidResponseCallbackBridge *>(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<DoorLockClusterSetUserTypeResponseCallback> { |
| public: |
| CHIPDoorLockClusterSetUserTypeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterSetUserTypeResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterSetUserTypeResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterSetUserTypeResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterSetUserTypeResponseCallbackBridge *>(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<DoorLockClusterSetWeekdayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterSetWeekdayScheduleResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge *>(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<DoorLockClusterSetYeardayScheduleResponseCallback> { |
| public: |
| CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterSetYeardayScheduleResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge *>(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<DoorLockClusterUnlockDoorResponseCallback> { |
| public: |
| CHIPDoorLockClusterUnlockDoorResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterUnlockDoorResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterUnlockDoorResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterUnlockDoorResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterUnlockDoorResponseCallbackBridge *>(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<DoorLockClusterUnlockWithTimeoutResponseCallback> { |
| public: |
| CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DoorLockClusterUnlockWithTimeoutResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge *>(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<GeneralCommissioningClusterArmFailSafeResponseCallback> { |
| public: |
| CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GeneralCommissioningClusterArmFailSafeResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge *>(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<GeneralCommissioningClusterCommissioningCompleteResponseCallback> { |
| public: |
| CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GeneralCommissioningClusterCommissioningCompleteResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge *>(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<GeneralCommissioningClusterSetRegulatoryConfigResponseCallback> { |
| public: |
| CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GeneralCommissioningClusterSetRegulatoryConfigResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge *>(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<GroupsClusterAddGroupResponseCallback> { |
| public: |
| CHIPGroupsClusterAddGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GroupsClusterAddGroupResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGroupsClusterAddGroupResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId) |
| { |
| CHIPGroupsClusterAddGroupResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPGroupsClusterAddGroupResponseCallbackBridge *>(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<GroupsClusterGetGroupMembershipResponseCallback> { |
| public: |
| CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GroupsClusterGetGroupMembershipResponseCallback>(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<CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge *>(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<GroupsClusterRemoveGroupResponseCallback> { |
| public: |
| CHIPGroupsClusterRemoveGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GroupsClusterRemoveGroupResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGroupsClusterRemoveGroupResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId) |
| { |
| CHIPGroupsClusterRemoveGroupResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPGroupsClusterRemoveGroupResponseCallbackBridge *>(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<GroupsClusterViewGroupResponseCallback> { |
| public: |
| CHIPGroupsClusterViewGroupResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GroupsClusterViewGroupResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGroupsClusterViewGroupResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId, uint8_t * groupName) |
| { |
| CHIPGroupsClusterViewGroupResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPGroupsClusterViewGroupResponseCallbackBridge *>(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<IdentifyClusterIdentifyQueryResponseCallback> { |
| public: |
| CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<IdentifyClusterIdentifyQueryResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t timeout) |
| { |
| CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge *>(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<KeypadInputClusterSendKeyResponseCallback> { |
| public: |
| CHIPKeypadInputClusterSendKeyResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<KeypadInputClusterSendKeyResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPKeypadInputClusterSendKeyResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context) |
| { |
| CHIPKeypadInputClusterSendKeyResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPKeypadInputClusterSendKeyResponseCallbackBridge *>(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<MediaPlaybackClusterMediaFastForwardResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaFastForwardResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge *>(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<MediaPlaybackClusterMediaNextResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaNextResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge *>(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<MediaPlaybackClusterMediaPauseResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaPauseResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge *>(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<MediaPlaybackClusterMediaPlayResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaPlayResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge *>(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<MediaPlaybackClusterMediaPreviousResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaPreviousResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge *>(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<MediaPlaybackClusterMediaRewindResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaRewindResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge *>(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<MediaPlaybackClusterMediaSkipBackwardResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge *>(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<MediaPlaybackClusterMediaSkipForwardResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge *>(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<MediaPlaybackClusterMediaSkipSeekResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaSkipSeekResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge *>(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<MediaPlaybackClusterMediaStartOverResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaStartOverResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge *>(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<MediaPlaybackClusterMediaStopResponseCallback> { |
| public: |
| CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<MediaPlaybackClusterMediaStopResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) |
| { |
| CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge *>(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<NetworkCommissioningClusterAddThreadNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterAddThreadNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge *>(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<NetworkCommissioningClusterAddWiFiNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterAddWiFiNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge *>(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<NetworkCommissioningClusterDisableNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterDisableNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge *>(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<NetworkCommissioningClusterEnableNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterEnableNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge *>(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<NetworkCommissioningClusterRemoveNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterRemoveNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge *>(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<NetworkCommissioningClusterScanNetworksResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterScanNetworksResponseCallback>(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<CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge *>(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<NetworkCommissioningClusterUpdateThreadNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterUpdateThreadNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge *>(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<NetworkCommissioningClusterUpdateWiFiNetworkResponseCallback> { |
| public: |
| CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<NetworkCommissioningClusterUpdateWiFiNetworkResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) |
| { |
| CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge *>(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 CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge |
| : public Callback::Callback<OperationalCredentialsClusterGetFabricIdResponseCallback> { |
| public: |
| CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<OperationalCredentialsClusterGetFabricIdResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, chip::FabricId FabricId) |
| { |
| CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge *>(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<ScenesClusterAddSceneResponseCallback> { |
| public: |
| CHIPScenesClusterAddSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ScenesClusterAddSceneResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPScenesClusterAddSceneResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) |
| { |
| CHIPScenesClusterAddSceneResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPScenesClusterAddSceneResponseCallbackBridge *>(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<ScenesClusterGetSceneMembershipResponseCallback> { |
| public: |
| CHIPScenesClusterGetSceneMembershipResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ScenesClusterGetSceneMembershipResponseCallback>(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<CHIPScenesClusterGetSceneMembershipResponseCallbackBridge *>(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<ScenesClusterRemoveAllScenesResponseCallback> { |
| public: |
| CHIPScenesClusterRemoveAllScenesResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ScenesClusterRemoveAllScenesResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPScenesClusterRemoveAllScenesResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId) |
| { |
| CHIPScenesClusterRemoveAllScenesResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPScenesClusterRemoveAllScenesResponseCallbackBridge *>(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<ScenesClusterRemoveSceneResponseCallback> { |
| public: |
| CHIPScenesClusterRemoveSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ScenesClusterRemoveSceneResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPScenesClusterRemoveSceneResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) |
| { |
| CHIPScenesClusterRemoveSceneResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPScenesClusterRemoveSceneResponseCallbackBridge *>(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<ScenesClusterStoreSceneResponseCallback> { |
| public: |
| CHIPScenesClusterStoreSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ScenesClusterStoreSceneResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPScenesClusterStoreSceneResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t groupId, uint8_t sceneId) |
| { |
| CHIPScenesClusterStoreSceneResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPScenesClusterStoreSceneResponseCallbackBridge *>(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<ScenesClusterViewSceneResponseCallback> { |
| public: |
| CHIPScenesClusterViewSceneResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<ScenesClusterViewSceneResponseCallback>(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<CHIPScenesClusterViewSceneResponseCallbackBridge *>(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<TvChannelClusterChangeChannelResponseCallback> { |
| public: |
| CHIPTvChannelClusterChangeChannelResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<TvChannelClusterChangeChannelResponseCallback>(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<CHIPTvChannelClusterChangeChannelResponseCallbackBridge *>(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<TargetNavigatorClusterNavigateTargetResponseCallback> { |
| public: |
| CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<TargetNavigatorClusterNavigateTargetResponseCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint8_t * data) |
| { |
| CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge * callback |
| = reinterpret_cast<CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge *>(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 CHIPDescriptorDeviceListAttributeCallbackBridge : public Callback::Callback<DescriptorDeviceListListAttributeCallback> { |
| public: |
| CHIPDescriptorDeviceListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DescriptorDeviceListListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDescriptorDeviceListAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, _DeviceType * entries) |
| { |
| CHIPDescriptorDeviceListAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPDescriptorDeviceListAttributeCallbackBridge *>(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<DescriptorServerListListAttributeCallback> { |
| public: |
| CHIPDescriptorServerListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DescriptorServerListListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDescriptorServerListAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, chip::ClusterId * entries) |
| { |
| CHIPDescriptorServerListAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPDescriptorServerListAttributeCallbackBridge *>(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<DescriptorClientListListAttributeCallback> { |
| public: |
| CHIPDescriptorClientListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DescriptorClientListListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDescriptorClientListAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, chip::ClusterId * entries) |
| { |
| CHIPDescriptorClientListAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPDescriptorClientListAttributeCallbackBridge *>(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<DescriptorPartsListListAttributeCallback> { |
| public: |
| CHIPDescriptorPartsListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<DescriptorPartsListListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPDescriptorPartsListAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, chip::EndpointId * entries) |
| { |
| CHIPDescriptorPartsListAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPDescriptorPartsListAttributeCallbackBridge *>(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 CHIPGroupKeyManagementGroupsAttributeCallbackBridge |
| : public Callback::Callback<GroupKeyManagementGroupsListAttributeCallback> { |
| public: |
| CHIPGroupKeyManagementGroupsAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GroupKeyManagementGroupsListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGroupKeyManagementGroupsAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, _GroupState * entries) |
| { |
| CHIPGroupKeyManagementGroupsAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPGroupKeyManagementGroupsAttributeCallbackBridge *>(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<GroupKeyManagementGroupKeysListAttributeCallback> { |
| public: |
| CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<GroupKeyManagementGroupKeysListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, _GroupKey * entries) |
| { |
| CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge *>(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 + 1u length:emberAfStringLength(entries[i].GroupKeyRoot)], |
| @"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<OperationalCredentialsFabricsListListAttributeCallback> { |
| public: |
| CHIPOperationalCredentialsFabricsListAttributeCallbackBridge(ResponseHandler handler, dispatch_queue_t queue) |
| : Callback::Callback<OperationalCredentialsFabricsListListAttributeCallback>(CallbackFn, this) |
| , mHandler(handler) |
| , mQueue(queue) |
| { |
| } |
| |
| ~CHIPOperationalCredentialsFabricsListAttributeCallbackBridge() {}; |
| |
| static void CallbackFn(void * context, uint16_t count, _FabricDescriptor * entries) |
| { |
| CHIPOperationalCredentialsFabricsListAttributeCallbackBridge * callback |
| = reinterpret_cast<CHIPOperationalCredentialsFabricsListAttributeCallbackBridge *>(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", |
| [NSData dataWithBytes:entries[i].Label + 1u length:emberAfStringLength(entries[i].Label)], |
| @"Label", [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; |
| }; |
| |
| @interface CHIPCluster () |
| @property (readonly, nonatomic) dispatch_queue_t callbackQueue; |
| - (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; |
| } |
| |
| _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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge * onSuccess |
| = new CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPApplicationBasic () |
| @property (readonly) Controller::ApplicationBasicCluster cppCluster; |
| @end |
| |
| @implementation CHIPApplicationBasic |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeVendorName:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeVendorId:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeApplicationName:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationName(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeProductId:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeProductId(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeApplicationId:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationId(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCatalogVendorId(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationSatus(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge * onSuccess |
| = new CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeApplicationLauncherList:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationLauncherList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)selectOutput:(uint8_t)index completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SelectOutput(onSuccess->Cancel(), onFailure->Cancel(), index); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeAudioOutputList:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeAudioOutputList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.BarrierControlGoToPercent(onSuccess->Cancel(), onFailure->Cancel(), percentOpen); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)barrierControlStop:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.BarrierControlStop(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeBarrierMovingState:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeBarrierMovingState(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeBarrierSafetyStatus:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeBarrierSafetyStatus(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeBarrierCapabilities:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeBarrierCapabilities(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeBarrierPosition:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeBarrierPosition(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPBasic () |
| @property (readonly) Controller::BasicCluster cppCluster; |
| @end |
| |
| @implementation CHIPBasic |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)mfgSpecificPing:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MfgSpecificPing(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeInteractionModelVersion:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeInteractionModelVersion(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeVendorName:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeVendorID:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeVendorID(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeProductName:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeProductName(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeProductID:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeProductID(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeUserLabel:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeUserLabel:(NSString *)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| NSData * data = [value dataUsingEncoding:NSUTF8StringEncoding]; |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeLocation:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeLocation(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeLocation:(NSString *)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| NSData * data = [value dataUsingEncoding:NSUTF8StringEncoding]; |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeHardwareVersion:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeHardwareVersion(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeHardwareVersionString:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeHardwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSoftwareVersion:(ResponseHandler)completionHandler |
| { |
| CHIPInt32uAttributeCallbackBridge * onSuccess = new CHIPInt32uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSoftwareVersion(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSoftwareVersionString:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSoftwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeManufacturingDate:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeManufacturingDate(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePartNumber:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePartNumber(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeProductURL:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeProductURL(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeProductLabel:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeProductLabel(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSerialNumber:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSerialNumber(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeLocalConfigDisabled:(ResponseHandler)completionHandler |
| { |
| CHIPBooleanAttributeCallbackBridge * onSuccess |
| = new CHIPBooleanAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeLocalConfigDisabled(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeLocalConfigDisabled:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeLocalConfigDisabled(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Bind(onSuccess->Cancel(), onFailure->Cancel(), nodeId, groupId, endpointId, clusterId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)unbind:(uint64_t)nodeId |
| groupId:(uint16_t)groupId |
| endpointId:(uint8_t)endpointId |
| clusterId:(uint16_t)clusterId |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Unbind(onSuccess->Cancel(), onFailure->Cancel(), nodeId, groupId, endpointId, clusterId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.MoveColor(onSuccess->Cancel(), onFailure->Cancel(), rateX, rateY, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, |
| colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveHue:(uint8_t)moveMode |
| rate:(uint8_t)rate |
| optionsMask:(uint8_t)optionsMask |
| optionsOverride:(uint8_t)optionsOverride |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.MoveHue(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveSaturation:(uint8_t)moveMode |
| rate:(uint8_t)rate |
| optionsMask:(uint8_t)optionsMask |
| optionsOverride:(uint8_t)optionsOverride |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.MoveSaturation(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveToColor( |
| onSuccess->Cancel(), onFailure->Cancel(), colorX, colorY, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveToColorTemperature:(uint16_t)colorTemperature |
| transitionTime:(uint16_t)transitionTime |
| optionsMask:(uint8_t)optionsMask |
| optionsOverride:(uint8_t)optionsOverride |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveToColorTemperature( |
| onSuccess->Cancel(), onFailure->Cancel(), colorTemperature, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveToHue( |
| onSuccess->Cancel(), onFailure->Cancel(), hue, direction, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveToHueAndSaturation( |
| onSuccess->Cancel(), onFailure->Cancel(), hue, saturation, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveToSaturation:(uint8_t)saturation |
| transitionTime:(uint16_t)transitionTime |
| optionsMask:(uint8_t)optionsMask |
| optionsOverride:(uint8_t)optionsOverride |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveToSaturation( |
| onSuccess->Cancel(), onFailure->Cancel(), saturation, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StepColor( |
| onSuccess->Cancel(), onFailure->Cancel(), stepX, stepY, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StepColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, |
| transitionTime, colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StepHue( |
| onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StepSaturation( |
| onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)stopMoveStep:(uint8_t)optionsMask |
| optionsOverride:(uint8_t)optionsOverride |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StopMoveStep(onSuccess->Cancel(), onFailure->Cancel(), optionsMask, optionsOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentHue:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentHue(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentHue:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint8_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeCurrentHue(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentHue:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentHue(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentSaturation:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentSaturation(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentSaturation:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint8_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeCurrentSaturation( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentSaturation:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentSaturation(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeRemainingTime:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeRemainingTime(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentX:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentX(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentX:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeCurrentX(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentX:(ResponseHandler)reportHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentX(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentY:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentY(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentY:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeCurrentY(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentY:(ResponseHandler)reportHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentY(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeDriftCompensation:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeDriftCompensation(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCompensationText:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCompensationText(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorTemperature:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorTemperature(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeColorTemperature:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeColorTemperature( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeColorTemperature:(ResponseHandler)reportHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeColorTemperature(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorControlOptions:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorControlOptions(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorControlOptions:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorControlOptions(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeNumberOfPrimaries:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeNumberOfPrimaries(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary1X:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary1X(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary1Y:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary1Y(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary1Intensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary1Intensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary2X:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary2X(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary2Y:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary2Y(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary2Intensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary2Intensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary3X:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary3X(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary3Y:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary3Y(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary3Intensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary3Intensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary4X:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary4X(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary4Y:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary4Y(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary4Intensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary4Intensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary5X:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary5X(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary5Y:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary5Y(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary5Intensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary5Intensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary6X:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary6X(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary6Y:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary6Y(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePrimary6Intensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePrimary6Intensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeWhitePointX:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeWhitePointX(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeWhitePointX:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeWhitePointX(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeWhitePointY:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeWhitePointY(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeWhitePointY:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeWhitePointY(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointRX:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointRX(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointRX:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointRX(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointRY:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointRY(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointRY:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointRY(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointRIntensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointRIntensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointRIntensity:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointRIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointGX:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointGX(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointGX:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointGX(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointGY:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointGY(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointGY:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointGY(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointGIntensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointGIntensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointGIntensity:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointGIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointBX:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointBX(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointBX:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointBX(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointBY:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointBY(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointBY:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointBY(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorPointBIntensity:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorPointBIntensity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeColorPointBIntensity:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeColorPointBIntensity(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeEnhancedCurrentHue:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeEnhancedCurrentHue(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeEnhancedColorMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeEnhancedColorMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorLoopActive:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorLoopActive(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorLoopDirection:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorLoopDirection(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorLoopTime:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorLoopTime(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorCapabilities:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorCapabilities(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorTempPhysicalMin:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorTempPhysicalMin(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeColorTempPhysicalMax:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeColorTempPhysicalMax(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCoupleColorTempToLevelMinMireds:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCoupleColorTempToLevelMinMireds(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeStartUpColorTemperatureMireds:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeStartUpColorTemperatureMireds(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeStartUpColorTemperatureMireds:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeStartUpColorTemperatureMireds(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPContentLaunchClusterLaunchContentResponseCallbackBridge * onSuccess |
| = new CHIPContentLaunchClusterLaunchContentResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)launchURL:(NSString *)contentURL |
| displayString:(NSString *)displayString |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPContentLaunchClusterLaunchURLResponseCallbackBridge * onSuccess |
| = new CHIPContentLaunchClusterLaunchURLResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeAcceptsHeaderList:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeAcceptsHeaderList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSupportedStreamingTypes:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSupportedStreamingTypes(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPDescriptor () |
| @property (readonly) Controller::DescriptorCluster cppCluster; |
| @end |
| |
| @implementation CHIPDescriptor |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeDeviceList:(ResponseHandler)completionHandler |
| { |
| CHIPDescriptorDeviceListAttributeCallbackBridge * onSuccess |
| = new CHIPDescriptorDeviceListAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeDeviceList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeServerList:(ResponseHandler)completionHandler |
| { |
| CHIPDescriptorServerListAttributeCallbackBridge * onSuccess |
| = new CHIPDescriptorServerListAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeServerList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClientList:(ResponseHandler)completionHandler |
| { |
| CHIPDescriptorClientListAttributeCallbackBridge * onSuccess |
| = new CHIPDescriptorClientListAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClientList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributePartsList:(ResponseHandler)completionHandler |
| { |
| CHIPDescriptorPartsListAttributeCallbackBridge * onSuccess |
| = new CHIPDescriptorPartsListAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributePartsList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPDoorLock () |
| @property (readonly) Controller::DoorLockCluster cppCluster; |
| @end |
| |
| @implementation CHIPDoorLock |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)clearAllPins:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearAllPinsResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearAllPinsResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearAllPins(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)clearAllRfids:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearAllRfidsResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearAllRfids(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)clearHolidaySchedule:(uint8_t)scheduleId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearHolidayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearHolidaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)clearPin:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearPinResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearPinResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearPin(onSuccess->Cancel(), onFailure->Cancel(), userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)clearRfid:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearRfidResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearRfidResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearRfid(onSuccess->Cancel(), onFailure->Cancel(), userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearWeekdayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearWeekdaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterClearYeardayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearYeardaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getHolidaySchedule:(uint8_t)scheduleId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetHolidayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetHolidaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getLogRecord:(uint16_t)logIndex completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetLogRecordResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetLogRecordResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetLogRecord(onSuccess->Cancel(), onFailure->Cancel(), logIndex); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getPin:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetPinResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetPinResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetPin(onSuccess->Cancel(), onFailure->Cancel(), userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getRfid:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetRfidResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetRfidResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getUserType:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetUserTypeResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetUserTypeResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetWeekdayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetWeekdaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterGetYeardayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetYeardaySchedule(onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)lockDoor:(NSString *)pin completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterLockDoorResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterLockDoorResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setHolidaySchedule:(uint8_t)scheduleId |
| localStartTime:(uint32_t)localStartTime |
| localEndTime:(uint32_t)localEndTime |
| operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterSetHolidayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SetHolidaySchedule( |
| onSuccess->Cancel(), onFailure->Cancel(), scheduleId, localStartTime, localEndTime, operatingModeDuringHoliday); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setPin:(uint16_t)userId |
| userStatus:(uint8_t)userStatus |
| userType:(uint8_t)userType |
| pin:(NSString *)pin |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterSetPinResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterSetPinResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setRfid:(uint16_t)userId |
| userStatus:(uint8_t)userStatus |
| userType:(uint8_t)userType |
| id:(NSString *)id |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterSetRfidResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterSetRfidResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setUserType:(uint16_t)userId userType:(uint8_t)userType completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterSetUserTypeResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterSetUserTypeResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId, userType); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterSetWeekdayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SetWeekdaySchedule( |
| onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId, daysMask, startHour, startMinute, endHour, endMinute); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setYeardaySchedule:(uint8_t)scheduleId |
| userId:(uint16_t)userId |
| localStartTime:(uint32_t)localStartTime |
| localEndTime:(uint32_t)localEndTime |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterSetYeardayScheduleResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SetYeardaySchedule( |
| onSuccess->Cancel(), onFailure->Cancel(), scheduleId, userId, localStartTime, localEndTime); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)unlockDoor:(NSString *)pin completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterUnlockDoorResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterUnlockDoorResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge * onSuccess |
| = new CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeLockState:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeLockState(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeLockState:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeLockState(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeLockState:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeLockState(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeLockType:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeLockType(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeActuatorEnabled:(ResponseHandler)completionHandler |
| { |
| CHIPBooleanAttributeCallbackBridge * onSuccess |
| = new CHIPBooleanAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeActuatorEnabled(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge * onSuccess |
| = new CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ArmFailSafe(onSuccess->Cancel(), onFailure->Cancel(), expiryLengthSeconds, breadcrumb, timeoutMs); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)commissioningComplete:(ResponseHandler)completionHandler |
| { |
| CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge * onSuccess |
| = new CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.CommissioningComplete(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setRegulatoryConfig:(uint8_t)location |
| countryCode:(NSString *)countryCode |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge * onSuccess |
| = new CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeFabricId:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeFabricId(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeBreadcrumb:(ResponseHandler)completionHandler |
| { |
| CHIPInt64uAttributeCallbackBridge * onSuccess = new CHIPInt64uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeBreadcrumb(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeBreadcrumb:(uint64_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeBreadcrumb(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPGroupKeyManagement () |
| @property (readonly) Controller::GroupKeyManagementCluster cppCluster; |
| @end |
| |
| @implementation CHIPGroupKeyManagement |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeGroups:(ResponseHandler)completionHandler |
| { |
| CHIPGroupKeyManagementGroupsAttributeCallbackBridge * onSuccess |
| = new CHIPGroupKeyManagementGroupsAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeGroups(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeGroupKeys:(ResponseHandler)completionHandler |
| { |
| CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge * onSuccess |
| = new CHIPGroupKeyManagementGroupKeysAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeGroupKeys(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPGroupsClusterAddGroupResponseCallbackBridge * onSuccess |
| = new CHIPGroupsClusterAddGroupResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge * onSuccess |
| = new CHIPGroupsClusterGetGroupMembershipResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetGroupMembership(onSuccess->Cancel(), onFailure->Cancel(), groupCount, groupList); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)removeAllGroups:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.RemoveAllGroups(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)removeGroup:(uint16_t)groupId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPGroupsClusterRemoveGroupResponseCallbackBridge * onSuccess |
| = new CHIPGroupsClusterRemoveGroupResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.RemoveGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)viewGroup:(uint16_t)groupId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPGroupsClusterViewGroupResponseCallbackBridge * onSuccess |
| = new CHIPGroupsClusterViewGroupResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ViewGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeNameSupport:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeNameSupport(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Identify(onSuccess->Cancel(), onFailure->Cancel(), identifyTime); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)identifyQuery:(ResponseHandler)completionHandler |
| { |
| CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge * onSuccess |
| = new CHIPIdentifyClusterIdentifyQueryResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.IdentifyQuery(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeIdentifyTime:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeIdentifyTime(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeIdentifyTime:(uint16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeIdentifyTime(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPKeypadInputClusterSendKeyResponseCallbackBridge * onSuccess |
| = new CHIPKeypadInputClusterSendKeyResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SendKey(onSuccess->Cancel(), onFailure->Cancel(), keyCode); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Move(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionMask, optionOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveToLevel:(uint8_t)level |
| transitionTime:(uint16_t)transitionTime |
| optionMask:(uint8_t)optionMask |
| optionOverride:(uint8_t)optionOverride |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.MoveToLevel(onSuccess->Cancel(), onFailure->Cancel(), level, transitionTime, optionMask, optionOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveToLevelWithOnOff:(uint8_t)level |
| transitionTime:(uint16_t)transitionTime |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveToLevelWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), level, transitionTime); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MoveWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Step( |
| onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionMask, optionOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)stepWithOnOff:(uint8_t)stepMode |
| stepSize:(uint8_t)stepSize |
| transitionTime:(uint16_t)transitionTime |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StepWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Stop(onSuccess->Cancel(), onFailure->Cancel(), optionMask, optionOverride); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)stopWithOnOff:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StopWithOnOff(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentLevel:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentLevel(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentLevel:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint8_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeCurrentLevel( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentLevel:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentLevel(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPLowPower () |
| @property (readonly) Controller::LowPowerCluster cppCluster; |
| @end |
| |
| @implementation CHIPLowPower |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)sleep:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Sleep(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPMediaInput () |
| @property (readonly) Controller::MediaInputCluster cppCluster; |
| @end |
| |
| @implementation CHIPMediaInput |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)hideInputStatus:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.HideInputStatus(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)renameInput:(uint8_t)index name:(NSString *)name completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)selectInput:(uint8_t)index completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SelectInput(onSuccess->Cancel(), onFailure->Cancel(), index); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)showInputStatus:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ShowInputStatus(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeMediaInputList:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMediaInputList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPMediaPlayback () |
| @property (readonly) Controller::MediaPlaybackCluster cppCluster; |
| @end |
| |
| @implementation CHIPMediaPlayback |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)mediaFastForward:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaFastForwardResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaFastForward(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaNext:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaNextResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaNext(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaPause:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaPauseResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaPause(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaPlay:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaPlayResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaPlay(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaPrevious:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaPreviousResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaPrevious(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaRewind:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaRewindResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaRewind(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaSkipBackward(onSuccess->Cancel(), onFailure->Cancel(), deltaPositionMilliseconds); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaSkipForwardResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaSkipForward(onSuccess->Cancel(), onFailure->Cancel(), deltaPositionMilliseconds); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaSkipSeek:(uint64_t)position completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaSkipSeekResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaSkipSeek(onSuccess->Cancel(), onFailure->Cancel(), position); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaStartOver:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaStartOverResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaStartOver(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)mediaStop:(ResponseHandler)completionHandler |
| { |
| CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge * onSuccess |
| = new CHIPMediaPlaybackClusterMediaStopResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.MediaStop(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)addWiFiNetwork:(NSData *)ssid |
| credentials:(NSData *)credentials |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)disableNetwork:(NSData *)networkID |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)enableNetwork:(NSData *)networkID |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetLastNetworkCommissioningResult(onSuccess->Cancel(), onFailure->Cancel(), timeoutMs); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)removeNetwork:(NSData *)networkID |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)scanNetworks:(NSData *)ssid |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)updateThreadNetwork:(NSData *)operationalDataset |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)updateWiFiNetwork:(NSData *)ssid |
| credentials:(NSData *)credentials |
| breadcrumb:(uint64_t)breadcrumb |
| timeoutMs:(uint32_t)timeoutMs |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge * onSuccess |
| = new CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPOnOff () |
| @property (readonly) Controller::OnOffCluster cppCluster; |
| @end |
| |
| @implementation CHIPOnOff |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)off:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Off(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)on:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.On(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)toggle:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.Toggle(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeOnOff:(ResponseHandler)completionHandler |
| { |
| CHIPBooleanAttributeCallbackBridge * onSuccess |
| = new CHIPBooleanAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeOnOff(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeOnOff:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeOnOff(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeOnOff:(ResponseHandler)reportHandler |
| { |
| CHIPBooleanAttributeCallbackBridge * onReport |
| = new CHIPBooleanAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeOnOff(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPOperationalCredentials () |
| @property (readonly) Controller::OperationalCredentialsCluster cppCluster; |
| @end |
| |
| @implementation CHIPOperationalCredentials |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)getFabricId:(ResponseHandler)completionHandler |
| { |
| CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge * onSuccess |
| = new CHIPOperationalCredentialsClusterGetFabricIdResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetFabricId(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)removeFabric:(uint64_t)fabricId |
| nodeId:(uint64_t)nodeId |
| vendorId:(uint16_t)vendorId |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.RemoveFabric(onSuccess->Cancel(), onFailure->Cancel(), fabricId, nodeId, vendorId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)updateFabricLabel:(NSString *)label completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeFabricsList:(ResponseHandler)completionHandler |
| { |
| CHIPOperationalCredentialsFabricsListAttributeCallbackBridge * onSuccess |
| = new CHIPOperationalCredentialsFabricsListAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeFabricsList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPPumpConfigurationAndControl () |
| @property (readonly) Controller::PumpConfigurationAndControlCluster cppCluster; |
| @end |
| |
| @implementation CHIPPumpConfigurationAndControl |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeMaxPressure:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMaxPressure(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeMaxSpeed:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMaxSpeed(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeMaxFlow:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMaxFlow(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeEffectiveOperationMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeEffectiveOperationMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeEffectiveControlMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeEffectiveControlMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCapacity:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCapacity(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCapacity:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(int16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeCapacity(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCapacity:(ResponseHandler)reportHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCapacity(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeOperationMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeOperationMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeOperationMode:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeOperationMode(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPScenesClusterAddSceneResponseCallbackBridge * onSuccess |
| = new CHIPScenesClusterAddSceneResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getSceneMembership:(uint16_t)groupId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPScenesClusterGetSceneMembershipResponseCallbackBridge * onSuccess |
| = new CHIPScenesClusterGetSceneMembershipResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetSceneMembership(onSuccess->Cancel(), onFailure->Cancel(), groupId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)recallScene:(uint16_t)groupId |
| sceneId:(uint8_t)sceneId |
| transitionTime:(uint16_t)transitionTime |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.RecallScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId, transitionTime); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)removeAllScenes:(uint16_t)groupId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPScenesClusterRemoveAllScenesResponseCallbackBridge * onSuccess |
| = new CHIPScenesClusterRemoveAllScenesResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.RemoveAllScenes(onSuccess->Cancel(), onFailure->Cancel(), groupId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPScenesClusterRemoveSceneResponseCallbackBridge * onSuccess |
| = new CHIPScenesClusterRemoveSceneResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.RemoveScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPScenesClusterStoreSceneResponseCallbackBridge * onSuccess |
| = new CHIPScenesClusterStoreSceneResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.StoreScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPScenesClusterViewSceneResponseCallbackBridge * onSuccess |
| = new CHIPScenesClusterViewSceneResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ViewScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSceneCount:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSceneCount(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentScene:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentScene(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentGroup:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentGroup(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSceneValid:(ResponseHandler)completionHandler |
| { |
| CHIPBooleanAttributeCallbackBridge * onSuccess |
| = new CHIPBooleanAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSceneValid(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeNameSupport:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeNameSupport(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPSwitch () |
| @property (readonly) Controller::SwitchCluster cppCluster; |
| @end |
| |
| @implementation CHIPSwitch |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeNumberOfPositions:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeNumberOfPositions(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentPosition:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentPosition(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentPosition:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint8_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeCurrentPosition( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentPosition:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentPosition(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPTvChannel () |
| @property (readonly) Controller::TvChannelCluster cppCluster; |
| @end |
| |
| @implementation CHIPTvChannel |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)changeChannel:(NSString *)match completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPTvChannelClusterChangeChannelResponseCallbackBridge * onSuccess |
| = new CHIPTvChannelClusterChangeChannelResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)changeChannelByNumber:(uint16_t)majorNumber |
| minorNumber:(uint16_t)minorNumber |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ChangeChannelByNumber(onSuccess->Cancel(), onFailure->Cancel(), majorNumber, minorNumber); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)skipChannel:(uint16_t)count completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SkipChannel(onSuccess->Cancel(), onFailure->Cancel(), count); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeTvChannelList:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeTvChannelList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeTvChannelLineup:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeTvChannelLineup(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentTvChannel:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentTvChannel(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([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 completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge * onSuccess |
| = new CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR 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; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeTargetNavigatorList:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], true); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeTargetNavigatorList(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPTemperatureMeasurement () |
| @property (readonly) Controller::TemperatureMeasurementCluster cppCluster; |
| @end |
| |
| @implementation CHIPTemperatureMeasurement |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeMeasuredValue:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeMeasuredValue:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(int16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeMeasuredValue( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeMeasuredValue:(ResponseHandler)reportHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeMeasuredValue(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeMinMeasuredValue:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMinMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeMaxMeasuredValue:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMaxMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPThermostat () |
| @property (readonly) Controller::ThermostatCluster cppCluster; |
| @end |
| |
| @implementation CHIPThermostat |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)clearWeeklySchedule:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ClearWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getRelayStatusLog:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetRelayStatusLog(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)getWeeklySchedule:(uint8_t)daysToReturn |
| modeToReturn:(uint8_t)modeToReturn |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.GetWeeklySchedule(onSuccess->Cancel(), onFailure->Cancel(), daysToReturn, modeToReturn); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence |
| dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence |
| modeForSequence:(uint8_t)modeForSequence |
| payload:(uint8_t)payload |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SetWeeklySchedule( |
| onSuccess->Cancel(), onFailure->Cancel(), numberOfTransitionsForSequence, dayOfWeekForSequence, modeForSequence, payload); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.SetpointRaiseLower(onSuccess->Cancel(), onFailure->Cancel(), mode, amount); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeLocalTemperature:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeLocalTemperature(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeLocalTemperature:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(int16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeLocalTemperature( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeLocalTemperature:(ResponseHandler)reportHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onReport = new CHIPInt16sAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeLocalTemperature(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeOccupiedCoolingSetpoint:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeOccupiedCoolingSetpoint(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeOccupiedCoolingSetpoint:(int16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeOccupiedCoolingSetpoint(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeOccupiedHeatingSetpoint:(ResponseHandler)completionHandler |
| { |
| CHIPInt16sAttributeCallbackBridge * onSuccess = new CHIPInt16sAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeOccupiedHeatingSetpoint(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeOccupiedHeatingSetpoint:(int16_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeOccupiedHeatingSetpoint(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeControlSequenceOfOperation:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeControlSequenceOfOperation(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeControlSequenceOfOperation:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeControlSequenceOfOperation(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeSystemMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeSystemMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeSystemMode:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeSystemMode(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPWakeOnLan () |
| @property (readonly) Controller::WakeOnLanCluster cppCluster; |
| @end |
| |
| @implementation CHIPWakeOnLan |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)readAttributeWakeOnLanMacAddress:(ResponseHandler)completionHandler |
| { |
| CHIPStringAttributeCallbackBridge * onSuccess |
| = new CHIPStringAttributeCallbackBridge(completionHandler, [self callbackQueue], false); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeWakeOnLanMacAddress(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |
| |
| @interface CHIPWindowCovering () |
| @property (readonly) Controller::WindowCoveringCluster cppCluster; |
| @end |
| |
| @implementation CHIPWindowCovering |
| |
| - (Controller::ClusterBase *)getCluster |
| { |
| return &_cppCluster; |
| } |
| |
| - (void)windowCoveringDownClose:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WindowCoveringDownClose(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)windowCoveringGoToLiftPercentage:(uint8_t)percentageLiftValue completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.WindowCoveringGoToLiftPercentage(onSuccess->Cancel(), onFailure->Cancel(), percentageLiftValue); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)windowCoveringGoToLiftValue:(uint16_t)liftValue completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WindowCoveringGoToLiftValue(onSuccess->Cancel(), onFailure->Cancel(), liftValue); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)windowCoveringGoToTiltPercentage:(uint8_t)percentageTiltValue completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.WindowCoveringGoToTiltPercentage(onSuccess->Cancel(), onFailure->Cancel(), percentageTiltValue); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)windowCoveringGoToTiltValue:(uint16_t)tiltValue completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WindowCoveringGoToTiltValue(onSuccess->Cancel(), onFailure->Cancel(), tiltValue); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)windowCoveringStop:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WindowCoveringStop(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| - (void)windowCoveringUpOpen:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WindowCoveringUpOpen(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeWindowCoveringType:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeWindowCoveringType(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeWindowCoveringType:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeWindowCoveringType(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeWindowCoveringType:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeWindowCoveringType(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentPositionLift:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentPositionLift(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentPositionLift:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeCurrentPositionLift( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentPositionLift:(ResponseHandler)reportHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentPositionLift(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeCurrentPositionTilt:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeCurrentPositionTilt(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeCurrentPositionTilt:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| change:(uint16_t)change |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ConfigureAttributeCurrentPositionTilt( |
| onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval, change); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeCurrentPositionTilt:(ResponseHandler)reportHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onReport = new CHIPInt16uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeCurrentPositionTilt(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeConfigStatus:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeConfigStatus(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)configureAttributeConfigStatus:(uint16_t)minInterval |
| maxInterval:(uint16_t)maxInterval |
| completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err |
| = self.cppCluster.ConfigureAttributeConfigStatus(onSuccess->Cancel(), onFailure->Cancel(), minInterval, maxInterval); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)reportAttributeConfigStatus:(ResponseHandler)reportHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onReport = new CHIPInt8uAttributeCallbackBridge(reportHandler, [self callbackQueue], true); |
| if (!onReport) { |
| reportHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReportAttributeConfigStatus(onReport->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onReport; |
| reportHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeInstalledOpenLimitLift:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeInstalledOpenLimitLift(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeInstalledClosedLimitLift:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeInstalledClosedLimitLift(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeInstalledOpenLimitTilt:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeInstalledOpenLimitTilt(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeInstalledClosedLimitTilt:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeInstalledClosedLimitTilt(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeMode:(ResponseHandler)completionHandler |
| { |
| CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeMode(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)writeAttributeMode:(uint8_t)value completionHandler:(ResponseHandler)completionHandler |
| { |
| CHIPDefaultSuccessCallbackBridge * onSuccess = new CHIPDefaultSuccessCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.WriteAttributeMode(onSuccess->Cancel(), onFailure->Cancel(), value); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| - (void)readAttributeClusterRevision:(ResponseHandler)completionHandler |
| { |
| CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onSuccess) { |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]); |
| if (!onFailure) { |
| delete onSuccess; |
| completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil); |
| return; |
| } |
| |
| CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); |
| if (err != CHIP_NO_ERROR) { |
| delete onSuccess; |
| delete onFailure; |
| completionHandler([CHIPError errorForCHIPErrorCode:err], nil); |
| } |
| } |
| |
| @end |