Status.h: remove service specific error codes.
These are leftover from binder and are never used in HIDL/hwbinder.
Test: libhidl_test + hidl_test + internal marlin boots/works.
Bug: 36099713
Change-Id: I12b20e1ae54d9df802a961bc9bc99f616291b0fd
diff --git a/base/Status.cpp b/base/Status.cpp
index 449aff3..3b31ee6 100644
--- a/base/Status.cpp
+++ b/base/Status.cpp
@@ -70,7 +70,6 @@
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_SERVICE_SPECIFIC),
EXCEPTION_TO_STRING_PAIR(EX_HAS_REPLY_HEADER),
EXCEPTION_TO_STRING_PAIR(EX_TRANSACTION_FAILED)
}};
@@ -91,15 +90,6 @@
return Status(exceptionCode, OK, message);
}
-Status Status::fromServiceSpecificError(int32_t serviceSpecificErrorCode) {
- return Status(EX_SERVICE_SPECIFIC, serviceSpecificErrorCode);
-}
-
-Status Status::fromServiceSpecificError(int32_t serviceSpecificErrorCode,
- const char *message) {
- return Status(EX_SERVICE_SPECIFIC, serviceSpecificErrorCode, message);
-}
-
Status Status::fromStatusT(status_t status) {
Status ret;
ret.setFromStatusT(status);
@@ -121,11 +111,6 @@
mMessage = message;
}
-void Status::setServiceSpecificError(int32_t errorCode, const char *message) {
- setException(EX_SERVICE_SPECIFIC, message);
- mErrorCode = errorCode;
-}
-
void Status::setFromStatusT(status_t status) {
mException = (status == NO_ERROR) ? EX_NONE : EX_TRANSACTION_FAILED;
mErrorCode = status;
@@ -143,9 +128,7 @@
stream << "No error";
} else {
stream << "Status(" << exceptionToString(s.exceptionCode()) << "): '";
- if (s.exceptionCode() == Status::EX_SERVICE_SPECIFIC) {
- stream << s.serviceSpecificErrorCode() << ": ";
- } else if (s.exceptionCode() == Status::EX_TRANSACTION_FAILED) {
+ if (s.exceptionCode() == Status::EX_TRANSACTION_FAILED) {
stream << statusToString(s.transactionError()) << ": ";
}
stream << s.exceptionMessage() << "'";
diff --git a/base/include/hidl/Status.h b/base/include/hidl/Status.h
index c5c5bd9..a4a83f4 100644
--- a/base/include/hidl/Status.h
+++ b/base/include/hidl/Status.h
@@ -62,7 +62,6 @@
EX_ILLEGAL_STATE = -5,
EX_NETWORK_MAIN_THREAD = -6,
EX_UNSUPPORTED_OPERATION = -7,
- EX_SERVICE_SPECIFIC = -8,
// This is special and Java specific; see Parcel.java.
EX_HAS_REPLY_HEADER = -128,
@@ -75,19 +74,14 @@
static Status ok();
// Authors should explicitly pick whether their integer is:
// - an exception code (EX_* above)
- // - service specific error code
// - status_t
//
- // Prefer a generic exception code when possible, then a service specific
- // code, and finally a status_t for low level failures or legacy support.
- // Exception codes and service specific errors map to nicer exceptions for
- // Java clients.
+ // Prefer a generic exception code when possible or a status_t
+ // for low level transport errors. Service specific errors
+ // should be at a higher level in HIDL.
static Status fromExceptionCode(int32_t exceptionCode);
static Status fromExceptionCode(int32_t exceptionCode,
const char *message);
- static Status fromServiceSpecificError(int32_t serviceSpecificErrorCode);
- static Status fromServiceSpecificError(int32_t serviceSpecificErrorCode,
- const char *message);
static Status fromStatusT(status_t status);
Status() = default;
@@ -100,8 +94,6 @@
// Set one of the pre-defined exception types defined above.
void setException(int32_t ex, const char *message);
- // Set a service specific exception with error code.
- void setServiceSpecificError(int32_t errorCode, const char *message);
// Setting a |status| != OK causes generated code to return |status|
// from Binder transactions, rather than writing an exception into the
// reply Parcel. This is the least preferable way of reporting errors.
@@ -113,9 +105,6 @@
status_t transactionError() const {
return mException == EX_TRANSACTION_FAILED ? mErrorCode : OK;
}
- int32_t serviceSpecificErrorCode() const {
- return mException == EX_SERVICE_SPECIFIC ? mErrorCode : 0;
- }
bool isOk() const { return mException == EX_NONE; }
@@ -132,7 +121,6 @@
//
// Otherwise, we always write |mException| to the parcel.
// If |mException| != EX_NONE, we write |mMessage| as well.
- // If |mException| == EX_SERVICE_SPECIFIC we write |mErrorCode| as well.
int32_t mException = EX_NONE;
int32_t mErrorCode = 0;
std::string mMessage;