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/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;