Loading libutils/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,7 @@ cc_library { native_bridge_supported: true, srcs: [ "Errors.cpp", "FileMap.cpp", "JenkinsHash.cpp", "NativeHandle.cpp", Loading libutils/Errors.cpp 0 → 100644 +51 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * 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 <utils/Errors.h> namespace android { std::string statusToString(status_t s) { #define STATUS_CASE(STATUS) \ case STATUS: \ return #STATUS switch (s) { STATUS_CASE(OK); STATUS_CASE(UNKNOWN_ERROR); STATUS_CASE(NO_MEMORY); STATUS_CASE(INVALID_OPERATION); STATUS_CASE(BAD_VALUE); STATUS_CASE(BAD_TYPE); STATUS_CASE(NAME_NOT_FOUND); STATUS_CASE(PERMISSION_DENIED); STATUS_CASE(NO_INIT); STATUS_CASE(ALREADY_EXISTS); STATUS_CASE(DEAD_OBJECT); STATUS_CASE(FAILED_TRANSACTION); STATUS_CASE(BAD_INDEX); STATUS_CASE(NOT_ENOUGH_DATA); STATUS_CASE(WOULD_BLOCK); STATUS_CASE(TIMED_OUT); STATUS_CASE(UNKNOWN_TRANSACTION); STATUS_CASE(FDS_NOT_ALLOWED); STATUS_CASE(UNEXPECTED_NULL); #undef STATUS_CASE } return std::to_string(s) + ' ' + strerror(-s); } } // namespace android libutils/include/utils/Errors.h +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <errno.h> #include <stdint.h> #include <sys/types.h> #include <string> namespace android { Loading Loading @@ -72,6 +73,9 @@ enum { UNEXPECTED_NULL = (UNKNOWN_ERROR + 8), }; // Human readable name of error std::string statusToString(status_t status); // Restore define; enumeration is in "android" namespace, so the value defined // there won't work for Win32 code in a different namespace. #ifdef _WIN32 Loading Loading
libutils/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,7 @@ cc_library { native_bridge_supported: true, srcs: [ "Errors.cpp", "FileMap.cpp", "JenkinsHash.cpp", "NativeHandle.cpp", Loading
libutils/Errors.cpp 0 → 100644 +51 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * 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 <utils/Errors.h> namespace android { std::string statusToString(status_t s) { #define STATUS_CASE(STATUS) \ case STATUS: \ return #STATUS switch (s) { STATUS_CASE(OK); STATUS_CASE(UNKNOWN_ERROR); STATUS_CASE(NO_MEMORY); STATUS_CASE(INVALID_OPERATION); STATUS_CASE(BAD_VALUE); STATUS_CASE(BAD_TYPE); STATUS_CASE(NAME_NOT_FOUND); STATUS_CASE(PERMISSION_DENIED); STATUS_CASE(NO_INIT); STATUS_CASE(ALREADY_EXISTS); STATUS_CASE(DEAD_OBJECT); STATUS_CASE(FAILED_TRANSACTION); STATUS_CASE(BAD_INDEX); STATUS_CASE(NOT_ENOUGH_DATA); STATUS_CASE(WOULD_BLOCK); STATUS_CASE(TIMED_OUT); STATUS_CASE(UNKNOWN_TRANSACTION); STATUS_CASE(FDS_NOT_ALLOWED); STATUS_CASE(UNEXPECTED_NULL); #undef STATUS_CASE } return std::to_string(s) + ' ' + strerror(-s); } } // namespace android
libutils/include/utils/Errors.h +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <errno.h> #include <stdint.h> #include <sys/types.h> #include <string> namespace android { Loading Loading @@ -72,6 +73,9 @@ enum { UNEXPECTED_NULL = (UNKNOWN_ERROR + 8), }; // Human readable name of error std::string statusToString(status_t status); // Restore define; enumeration is in "android" namespace, so the value defined // there won't work for Win32 code in a different namespace. #ifdef _WIN32 Loading