xref: /aosp_15_r20/external/tensorflow/tensorflow/lite/objc/sources/TFLErrorUtil.h (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1 // Copyright 2018 Google Inc. All rights reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at:
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #import <Foundation/Foundation.h>
16 
17 #import "tensorflow/lite/objc/apis/TFLInterpreter.h"
18 
19 NS_ASSUME_NONNULL_BEGIN
20 
21 /** Helper utility for error reporting. */
22 @interface TFLErrorUtil : NSObject
23 
24 /**
25  * Creates and saves an interpreter error with the given error code and description.
26  *
27  * @param code Error code.
28  * @param description Error description.
29  * @param error Pointer to where to save the created error. If `nil`, no error will be saved.
30  */
31 + (void)saveInterpreterErrorWithCode:(TFLInterpreterErrorCode)code
32                          description:(NSString *)description
33                                error:(NSError **)error;
34 
35 /**
36  * Sets the error with the given domain, error code and description.
37  *
38  * @param domain The error domain.
39  * @param code The error code.
40  * @param description The error description.
41  * @param error A pointer to populate the error. If `nil`, no error will be populated.
42  */
43 + (void)setError:(NSError **)error
44       withDomain:(NSErrorDomain)domain
45             code:(NSInteger)code
46      description:(NSString *)description;
47 
48 /** Unavailable. */
49 - (instancetype)init NS_UNAVAILABLE;
50 
51 @end
52 
53 NS_ASSUME_NONNULL_END
54