| /** |
| * Copyright (c) 2023 Project CHIP Authors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #import "MTRDeviceTestDelegate.h" |
| |
| @implementation MTRDeviceTestDelegate |
| - (void)device:(MTRDevice *)device stateChanged:(MTRDeviceState)state |
| { |
| if (state == MTRDeviceStateReachable && self.onReachable != nil) { |
| self.onReachable(); |
| } else if (state != MTRDeviceStateReachable && self.onNotReachable != nil) { |
| self.onNotReachable(); |
| } |
| } |
| |
| - (void)device:(MTRDevice *)device receivedAttributeReport:(NSArray<NSDictionary<NSString *, id> *> *)attributeReport |
| { |
| if (self.onAttributeDataReceived != nil) { |
| self.onAttributeDataReceived(attributeReport); |
| } |
| } |
| |
| - (void)device:(MTRDevice *)device receivedEventReport:(NSArray<NSDictionary<NSString *, id> *> *)eventReport |
| { |
| if (self.onEventDataReceived != nil) { |
| self.onEventDataReceived(eventReport); |
| } |
| } |
| |
| - (void)unitTestReportEndForDevice:(MTRDevice *)device |
| { |
| if (self.onReportEnd != nil) { |
| self.onReportEnd(); |
| } |
| } |
| |
| - (NSNumber *)unitTestMaxIntervalOverrideForSubscription:(MTRDevice *)device |
| { |
| // Make sure our subscriptions time out in finite time. |
| return @(2); // seconds |
| } |
| |
| - (void)deviceCachePrimed:(MTRDevice *)device |
| { |
| if (self.onDeviceCachePrimed != nil) { |
| self.onDeviceCachePrimed(); |
| } |
| } |
| |
| - (BOOL)unitTestShouldSkipExpectedValuesForWrite:(MTRDevice *)device |
| { |
| return self.skipExpectedValuesForWrite; |
| } |
| |
| - (BOOL)unitTestForceAttributeReportsIfMatchingCache:(MTRDevice *)device |
| { |
| return self.forceAttributeReportsIfMatchingCache; |
| } |
| |
| - (void)deviceConfigurationChanged:(MTRDevice *)device |
| { |
| if (self.onDeviceConfigurationChanged != nil) { |
| self.onDeviceConfigurationChanged(); |
| } |
| } |
| |
| @end |