diff options
author | Steven Moreland <smoreland@google.com> | 2019-11-15 00:06:47 -0800 |
---|---|---|
committer | Steven Moreland <smoreland@google.com> | 2019-11-15 00:17:32 -0800 |
commit | ab060ef455a87e856b412036a0cee8155ca227fa (patch) | |
tree | a7a41315d656e14e73c4dd7d92de52ac706659c3 /base | |
parent | c98f3763e3105d35b03fbf33646682cd947ba462 (diff) | |
download | libhidl-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.cpp | 67 |
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() { |