3 * Copyright (c) 2020 Project CHIP Authors
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #import <Foundation/Foundation.h>
20 NS_ASSUME_NONNULL_BEGIN
21 FOUNDATION_EXPORT NSErrorDomain const CHIPErrorDomain;
23 typedef int32_t CHIP_ERROR;
25 typedef NS_ERROR_ENUM(CHIPErrorDomain, CHIPErrorCode) {
27 CHIPErrorCodeUndefinedError = 1,
28 CHIPErrorCodeInvalidStringLength = 2,
29 CHIPErrorCodeInvalidIntegerValue = 3,
30 CHIPErrorCodeInvalidArgument = 4,
31 CHIPErrorCodeInvalidMessageLength = 5,
32 CHIPErrorCodeInvalidState = 6,
33 CHIPErrorCodeWrongAddressType = 7,
34 CHIPErrorCodeIntegrityCheckFailed = 8,
35 CHIPErrorCodeDuplicateExists = 9,
38 @interface CHIPError : NSObject
39 + (nullable NSError *)errorForCHIPErrorCode:(CHIP_ERROR)errorCode;
40 + (CHIP_ERROR)errorToCHIPErrorCode:(NSError *)errorCode;