Fix generateExportHeaderForPackage.

- Had meaningless check
- Was cluttering table of formats

Test: variations of `hidl-gen -Lexport-header -o foo.txt  android.hardware.nfc@1.0`
Change-Id: Ic1d6cf6418ad7d8462f062d5d13b7dbb364cc9e4
diff --git a/main.cpp b/main.cpp
index 62f28e5..bece85e 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1016,102 +1016,102 @@
 }
 
 
-static status_t generateExportHeaderForPackage(
-        const FQName &packageFQName,
-        const char * /* hidl_gen */,
-        Coordinator *coordinator,
-        const std::string &outputPath,
-        bool forJava) {
+OutputHandler::GenerationFunction generateExportHeaderForPackage(bool forJava) {
+    return [forJava](const FQName &packageFQName,
+                     const char * /* hidl_gen */,
+                     Coordinator *coordinator,
+                     const std::string &outputPath) -> status_t {
+        CHECK(packageFQName.isValid()
+                && !packageFQName.package().empty()
+                && !packageFQName.version().empty()
+                && packageFQName.name().empty());
 
-    CHECK(packageFQName.isValid()
-            && !packageFQName.isFullyQualified()
-            && packageFQName.name().empty());
+        std::vector<FQName> packageInterfaces;
 
-    std::vector<FQName> packageInterfaces;
+        status_t err = coordinator->appendPackageInterfacesToVector(
+                packageFQName, &packageInterfaces);
 
-    status_t err = coordinator->appendPackageInterfacesToVector(
-            packageFQName, &packageInterfaces);
-
-    if (err != OK) {
-        return err;
-    }
-
-    std::vector<const Type *> exportedTypes;
-
-    for (const auto &fqName : packageInterfaces) {
-        AST *ast = coordinator->parse(fqName);
-
-        if (ast == NULL) {
-            fprintf(stderr,
-                    "ERROR: Could not parse %s. Aborting.\n",
-                    fqName.string().c_str());
-
-            return UNKNOWN_ERROR;
+        if (err != OK) {
+            return err;
         }
 
-        ast->appendToExportedTypesVector(&exportedTypes);
-    }
+        std::vector<const Type *> exportedTypes;
 
-    if (exportedTypes.empty()) {
+        for (const auto &fqName : packageInterfaces) {
+            AST *ast = coordinator->parse(fqName);
+
+            if (ast == NULL) {
+                fprintf(stderr,
+                        "ERROR: Could not parse %s. Aborting.\n",
+                        fqName.string().c_str());
+
+                return UNKNOWN_ERROR;
+            }
+
+            ast->appendToExportedTypesVector(&exportedTypes);
+        }
+
+        if (exportedTypes.empty()) {
+            return OK;
+        }
+
+        std::string path = outputPath;
+
+        if (forJava) {
+            path.append(coordinator->convertPackageRootToPath(packageFQName));
+
+            path.append(coordinator->getPackagePath(
+                        packageFQName, true /* relative */, true /* sanitized */));
+
+            path.append("Constants.java");
+        }
+
+        CHECK(Coordinator::MakeParentHierarchy(path));
+        FILE *file = fopen(path.c_str(), "w");
+
+        if (file == nullptr) {
+            return -errno;
+        }
+
+        Formatter out(file);
+
+        out << "// This file is autogenerated by hidl-gen. Do not edit manually.\n"
+            << "// Source: " << packageFQName.string() << "\n"
+            << "// Root: " << coordinator->getPackageRootOption(packageFQName) << "\n\n";
+
+        std::string guard;
+        if (forJava) {
+            out << "package " << packageFQName.javaPackage() << ";\n\n";
+            out << "public class Constants {\n";
+            out.indent();
+        } else {
+            guard = "HIDL_GENERATED_";
+            guard += StringHelper::Uppercase(packageFQName.tokenName());
+            guard += "_";
+            guard += "EXPORTED_CONSTANTS_H_";
+
+            out << "#ifndef "
+                << guard
+                << "\n#define "
+                << guard
+                << "\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n";
+        }
+
+        for (const auto &type : exportedTypes) {
+            type->emitExportedHeader(out, forJava);
+        }
+
+        if (forJava) {
+            out.unindent();
+            out << "}\n";
+        } else {
+            out << "#ifdef __cplusplus\n}\n#endif\n\n#endif  // "
+                << guard
+                << "\n";
+        }
+
         return OK;
-    }
-
-    std::string path = outputPath;
-
-    if (forJava) {
-        path.append(coordinator->convertPackageRootToPath(packageFQName));
-
-        path.append(coordinator->getPackagePath(
-                    packageFQName, true /* relative */, true /* sanitized */));
-
-        path.append("Constants.java");
-    }
-
-    CHECK(Coordinator::MakeParentHierarchy(path));
-    FILE *file = fopen(path.c_str(), "w");
-
-    if (file == nullptr) {
-        return -errno;
-    }
-
-    Formatter out(file);
-
-    out << "// This file is autogenerated by hidl-gen. Do not edit manually.\n"
-        << "// Source: " << packageFQName.string() << "\n"
-        << "// Root: " << coordinator->getPackageRootOption(packageFQName) << "\n\n";
-
-    std::string guard;
-    if (forJava) {
-        out << "package " << packageFQName.javaPackage() << ";\n\n";
-        out << "public class Constants {\n";
-        out.indent();
-    } else {
-        guard = "HIDL_GENERATED_";
-        guard += StringHelper::Uppercase(packageFQName.tokenName());
-        guard += "_";
-        guard += "EXPORTED_CONSTANTS_H_";
-
-        out << "#ifndef "
-            << guard
-            << "\n#define "
-            << guard
-            << "\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n";
-    }
-
-    for (const auto &type : exportedTypes) {
-        type->emitExportedHeader(out, forJava);
-    }
-
-    if (forJava) {
-        out.unindent();
-        out << "}\n";
-    } else {
-        out << "#ifdef __cplusplus\n}\n#endif\n\n#endif  // "
-            << guard
-            << "\n";
-    }
-
-    return OK;
+    };
 }
 
 static status_t generateHashOutput(const FQName &fqName,
@@ -1179,19 +1179,7 @@
     {"export-header",
      OutputHandler::NEEDS_FILE /* mOutputMode */,
      validateForExportHeader,
-     [](const FQName &fqName,
-        const char *hidl_gen,
-        Coordinator *coordinator,
-        const std::string &outputPath) -> status_t {
-            CHECK(!fqName.isFullyQualified());
-
-            return generateExportHeaderForPackage(
-                    fqName,
-                    hidl_gen,
-                    coordinator,
-                    outputPath,
-                    false /* forJava */);
-        }
+     generateExportHeaderForPackage(false /* forJava */)
     },
 
     {"c++-impl",
@@ -1210,17 +1198,7 @@
     {"java-constants",
      OutputHandler::NEEDS_DIR /* mOutputMode */,
      validateForExportHeader,
-     [](const FQName &fqName,
-        const char *hidl_gen, Coordinator *coordinator,
-        const std::string &outputDir) -> status_t {
-            CHECK(!fqName.isFullyQualified());
-            return generateExportHeaderForPackage(
-                    fqName,
-                    hidl_gen,
-                    coordinator,
-                    outputDir,
-                    true /* forJava */);
-        }
+     generateExportHeaderForPackage(true /* forJava */)
     },
 
     {"vts",