c76787fd3e
* initial ext files * add a workable version of spm for extensions * update * update pipeline * update pipelines * fix dev/release pipelines for extensions pod * fix dev pipelines for extensions pod * fix release pipelines for extensions pod * fix dev pipelines for extensions pod * adding empty include folder for configuring extensions target path * test * test * test * revert pipeline changes * revert gitignore changes * add ext pod binary target for release pipeline * add pipeline for extensions * update * update package.swift * update latest from branch * update * fix * fix * update * try dummy empty file * test * update package.swift to use fatalerror * syntax * try gitignore revert * update gitignore * add -list * onnxruntime-Package * update using onnxruntime-Package * update dev pipeline * fix dev pipelines * syntax * pull extensions/ * update pipelines again * syntax * variables * fix * fix -r * update Package.swift * update Package.swift * minor update * address pr comments * minor updates * fix * refine messages * syntax * syntax again * address pr comments partial * address pr comments * add .h header file and notes * minor updates * syncing objc source files and add code to register custom ops using function pointer * format * move to the header for function doc --------- Co-authored-by: rachguo <rachguo@rachguos-Mini.attlocal.net> Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local>
35 lines
1.3 KiB
Objective-C
35 lines
1.3 KiB
Objective-C
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#include <exception>
|
|
|
|
#import "cxx_api.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
void ORTSaveCodeAndDescriptionToError(int code, const char* description, NSError** error);
|
|
void ORTSaveCodeAndDescriptionToError(int code, NSString* description, NSError** error);
|
|
void ORTSaveOrtExceptionToError(const Ort::Exception& e, NSError** error);
|
|
void ORTSaveExceptionToError(const std::exception& e, NSError** error);
|
|
|
|
// helper macros to catch and handle C++ exceptions
|
|
#define ORT_OBJC_API_IMPL_CATCH(error, failure_return_value) \
|
|
catch (const Ort::Exception& e) { \
|
|
ORTSaveOrtExceptionToError(e, (error)); \
|
|
return (failure_return_value); \
|
|
} \
|
|
catch (const std::exception& e) { \
|
|
ORTSaveExceptionToError(e, (error)); \
|
|
return (failure_return_value); \
|
|
}
|
|
|
|
#define ORT_OBJC_API_IMPL_CATCH_RETURNING_BOOL(error) \
|
|
ORT_OBJC_API_IMPL_CATCH(error, NO)
|
|
|
|
#define ORT_OBJC_API_IMPL_CATCH_RETURNING_NULLABLE(error) \
|
|
ORT_OBJC_API_IMPL_CATCH(error, nil)
|
|
|
|
NS_ASSUME_NONNULL_END
|