From 9982fd6c8831cbd2f58954f79ea71f26660393bc Mon Sep 17 00:00:00 2001 From: Pete Warden Date: Fri, 7 Sep 2018 17:36:59 -0700 Subject: Modularize TF Lite interface definitions and reorganize file structure PiperOrigin-RevId: 212064501 --- tensorflow/contrib/lite/stderr_reporter.cc | 45 ++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tensorflow/contrib/lite/stderr_reporter.cc (limited to 'tensorflow/contrib/lite/stderr_reporter.cc') diff --git a/tensorflow/contrib/lite/stderr_reporter.cc b/tensorflow/contrib/lite/stderr_reporter.cc new file mode 100644 index 0000000000..e29a6345fd --- /dev/null +++ b/tensorflow/contrib/lite/stderr_reporter.cc @@ -0,0 +1,45 @@ +/* Copyright 2017 The TensorFlow Authors. All Rights Reserved. + +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. +==============================================================================*/ +#include "tensorflow/contrib/lite/stderr_reporter.h" +#include +#include + +#ifdef __ANDROID__ +#include +#endif + +namespace tflite { + +int StderrReporter::Report(const char* format, va_list args) { +#ifdef __ANDROID__ + // On Android stderr is not captured for applications, only for code run from + // the shell. Rather than assume all users will set up a custom error + // reporter, let's output to logcat here + va_list args_for_log; + va_copy(args_for_log, args); + __android_log_vprint(ANDROID_LOG_ERROR, "tflite", format, args_for_log); + va_end(args_for_log); +#endif + const int result = vfprintf(stderr, format, args); + fputc('\n', stderr); + return result; +} + +ErrorReporter* DefaultErrorReporter() { + static StderrReporter* error_reporter = new StderrReporter; + return error_reporter; +} + +} // namespace tflite -- cgit v1.2.3