Support TYPE_HANDLE for vts.

Bug:33114453
Test: make hidl-gen
Change-Id: Ia05d79e2d5f4233a58978c0e6fd0402a6f28c6a6
diff --git a/HandleType.cpp b/HandleType.cpp
index 28218f6..040562a 100644
--- a/HandleType.cpp
+++ b/HandleType.cpp
@@ -45,6 +45,10 @@
     }
 }
 
+std::string HandleType::getVtsType() const {
+    return "TYPE_HANDLE";
+}
+
 void HandleType::emitReaderWriter(
         Formatter &out,
         const std::string &name,
@@ -164,5 +168,10 @@
     *align = *size = 8;
 }
 
+status_t HandleType::emitVtsTypeDeclarations(Formatter &out) const {
+    out << "type: " << getVtsType() << "\n";
+    return OK;
+}
+
 }  // namespace android
 
diff --git a/HandleType.h b/HandleType.h
index d3805f6..f4c92dc 100644
--- a/HandleType.h
+++ b/HandleType.h
@@ -31,6 +31,8 @@
             StorageMode mode,
             bool specifyNamespaces) const override;
 
+    std::string getVtsType() const override;
+
     void emitReaderWriter(
             Formatter &out,
             const std::string &name,
@@ -59,6 +61,8 @@
     bool useNameInEmitReaderWriterEmbedded(bool isReader) const override;
 
     void getAlignmentAndSize(size_t *align, size_t *size) const override;
+
+    status_t emitVtsTypeDeclarations(Formatter &out) const override;
 };
 
 }  // namespace android
diff --git a/StringType.cpp b/StringType.cpp
index 0969063..9c2d873 100644
--- a/StringType.cpp
+++ b/StringType.cpp
@@ -202,7 +202,7 @@
 }
 
 status_t StringType::emitVtsTypeDeclarations(Formatter &out) const {
-    out << "type: TYPE_STRING\n";
+    out << "type: " << getVtsType() << "\n";
     return OK;
 }