summaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorSteven Moreland <smoreland@google.com>2019-11-15 00:06:47 -0800
committerSteven Moreland <smoreland@google.com>2019-11-15 00:17:32 -0800
commitab060ef455a87e856b412036a0cee8155ca227fa (patch)
treea7a41315d656e14e73c4dd7d92de52ac706659c3 /base
parentc98f3763e3105d35b03fbf33646682cd947ba462 (diff)
downloadlibhidl-ab060ef455a87e856b412036a0cee8155ca227fa.tar.gz
Rely on libutils statusToString.
Bug: 144534032 Test: TH runs libhidl_test Change-Id: I164ac95687c6f7d07ab3d17b32e1238c9071f4d6
Diffstat (limited to 'base')
-rw-r--r--base/Status.cpp67
1 files changed, 18 insertions, 49 deletions
diff --git a/base/Status.cpp b/base/Status.cpp
index 7698ff8..41c9640 100644
--- a/base/Status.cpp
+++ b/base/Status.cpp
@@ -25,57 +25,26 @@
namespace android {
namespace hardware {
-static std::string statusToString(status_t s) {
- const std::unordered_map<status_t, std::string> statusStrings{{
- #define STATUS_TO_STRING_PAIR(STATUS) {STATUS, #STATUS}
- STATUS_TO_STRING_PAIR(OK),
- STATUS_TO_STRING_PAIR(UNKNOWN_ERROR),
- STATUS_TO_STRING_PAIR(NO_MEMORY),
- STATUS_TO_STRING_PAIR(INVALID_OPERATION),
- STATUS_TO_STRING_PAIR(BAD_VALUE),
- STATUS_TO_STRING_PAIR(BAD_TYPE),
- STATUS_TO_STRING_PAIR(NAME_NOT_FOUND),
- STATUS_TO_STRING_PAIR(PERMISSION_DENIED),
- STATUS_TO_STRING_PAIR(NO_INIT),
- STATUS_TO_STRING_PAIR(ALREADY_EXISTS),
- STATUS_TO_STRING_PAIR(DEAD_OBJECT),
- STATUS_TO_STRING_PAIR(FAILED_TRANSACTION),
- STATUS_TO_STRING_PAIR(BAD_INDEX),
- STATUS_TO_STRING_PAIR(NOT_ENOUGH_DATA),
- STATUS_TO_STRING_PAIR(WOULD_BLOCK),
- STATUS_TO_STRING_PAIR(TIMED_OUT),
- STATUS_TO_STRING_PAIR(UNKNOWN_TRANSACTION),
- STATUS_TO_STRING_PAIR(FDS_NOT_ALLOWED),
- STATUS_TO_STRING_PAIR(UNEXPECTED_NULL)
- }};
- auto it = statusStrings.find(s);
- if (it != statusStrings.end()) {
- return it->second;
- }
- std::string str = std::to_string(s);
- char *err = strerror(-s);
- if (err != nullptr) {
- str.append(1, ' ').append(err);
- }
- return str;
-}
static std::string exceptionToString(int32_t ex) {
- const std::unordered_map<int32_t, std::string> exceptionStrings{{
- #define EXCEPTION_TO_STRING_PAIR(EXCEPTION) {Status::Exception::EXCEPTION, #EXCEPTION}
- EXCEPTION_TO_STRING_PAIR(EX_NONE),
- EXCEPTION_TO_STRING_PAIR(EX_SECURITY),
- EXCEPTION_TO_STRING_PAIR(EX_BAD_PARCELABLE),
- EXCEPTION_TO_STRING_PAIR(EX_ILLEGAL_ARGUMENT),
- EXCEPTION_TO_STRING_PAIR(EX_NULL_POINTER),
- EXCEPTION_TO_STRING_PAIR(EX_ILLEGAL_STATE),
- EXCEPTION_TO_STRING_PAIR(EX_NETWORK_MAIN_THREAD),
- EXCEPTION_TO_STRING_PAIR(EX_UNSUPPORTED_OPERATION),
- EXCEPTION_TO_STRING_PAIR(EX_HAS_REPLY_HEADER),
- EXCEPTION_TO_STRING_PAIR(EX_TRANSACTION_FAILED)
- }};
- auto it = exceptionStrings.find(ex);
- return it == exceptionStrings.end() ? std::to_string(ex) : it->second;
+#define EXCEPTION_CASE(EXCEPTION) \
+ case Status::Exception::EXCEPTION: \
+ return #EXCEPTION
+
+ switch (ex) {
+ EXCEPTION_CASE(EX_NONE);
+ EXCEPTION_CASE(EX_SECURITY);
+ EXCEPTION_CASE(EX_BAD_PARCELABLE);
+ EXCEPTION_CASE(EX_ILLEGAL_ARGUMENT);
+ EXCEPTION_CASE(EX_NULL_POINTER);
+ EXCEPTION_CASE(EX_ILLEGAL_STATE);
+ EXCEPTION_CASE(EX_NETWORK_MAIN_THREAD);
+ EXCEPTION_CASE(EX_UNSUPPORTED_OPERATION);
+ EXCEPTION_CASE(EX_HAS_REPLY_HEADER);
+ EXCEPTION_CASE(EX_TRANSACTION_FAILED);
+#undef EXCEPTION_CASE
+ }
+ return std::to_string(ex);
}
Status Status::ok() {