Stop generating IHw classes.

The main rationale of the IHw class was to be able
to cast binder objects to/from interfaces safely.
That functionality is now taking over by interfaceChain()
in IBase, together with the toBinder()/fromBinder() functions
in libhidl.

The remaining binder objects related to IFoo are now just
BpFoo and BnFoo, and both still inherit from IInterface.

Note that the IHw *header* itself remains, as it contains the
declarations for reading/writing datatypes related to the
interface into a Parcel.

Test: mma, hidl_test, hidl_test_java
Bug: 33173166
Change-Id: I6bbe1228830a413058d0e9dbb6345ed1c01aa97d
diff --git a/Interface.cpp b/Interface.cpp
index 36179e7..4117177 100644
--- a/Interface.cpp
+++ b/Interface.cpp
@@ -219,10 +219,6 @@
     return fqName().getInterfaceBaseName();
 }
 
-FQName Interface::getHwName() const {
-    return FQName(fqName().package(), fqName().version(), "IHw" + getBaseName());
-}
-
 FQName Interface::getProxyName() const {
     return FQName(fqName().package(), fqName().version(), "Bp" + getBaseName());
 }
@@ -295,10 +291,13 @@
 
         out << name
             << " = "
-            << fqName().cppNamespace()
-            << "::IHw"
-            << getBaseName()
-            << "::asInterface("
+            << "::android::hardware::fromBinder<"
+            << fqName().cppName()
+            << ","
+            << getProxyName().cppName()
+            << ","
+            << getStubName().cppName()
+            << ">("
             << binderName
             << ");\n";
 
@@ -316,13 +315,9 @@
         out << "::android::sp<::android::hardware::IBinder> _hidl_binder = "
             << "::android::hardware::toBinder<\n";
         out.indentBlock(2, [&] {
-            out << fqName().cppNamespace()
-                << "::I"
-                << getBaseName()
+            out << fqName().cppName()
                 << ", "
-                << fqName().cppNamespace()
-                << "::IHw"
-                << getBaseName()
+                << getProxyName().cppName()
                 << ">("
                 << name
                 << ");\n";