Using ModuleType to determine FFS file extension.
authorwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 30 Jun 2006 18:02:35 +0000 (18:02 +0000)
committerwuyizhong <wuyizhong@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 30 Jun 2006 18:02:35 +0000 (18:02 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@685 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java

index 575fded67e4e0a4de47194daa01b5e7b88eff6e3..ceff3205fe8147be0a392989571698cb4d11fcf0 100644 (file)
@@ -58,6 +58,10 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
     ///\r
     String  baseName        = "";\r
     ///\r
+    /// \r
+    /// \r
+    String moduleType;\r
+    ///\r
     /// module Guid\r
     ///\r
     String  ffsFileGuid        = "";\r
@@ -153,7 +157,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
         //  Create ffs file. File name = FfsFileGuid + BaseName + ffsSuffix.\r
         //  If outputDir's value was set,  file will output to the outputDir.\r
         //\r
-        ffsSuffix = TypeToSuffix (this.ffsFileType);\r
+        ffsSuffix = TypeToSuffix (this.moduleType);\r
         if (!this.outputDir.equals("")) {\r
             String temp;\r
             outputPath = this.outputDir;\r
@@ -698,43 +702,21 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
       @return                The suffix of ffs file\r
     **/\r
     private String TypeToSuffix (String ffsFileType){\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_ALL")) {\r
-            return "";\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_RAW")) {\r
-            return EFI_FV_FFS_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_FREEFORM")) {\r
-            return EFI_FV_FFS_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_SECURITY_CORE")) {\r
-            return EFI_FV_SEC_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_PEI_CORE")) {\r
-            return EFI_FV_PEI_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_DXE_CORE")) {\r
-            return EFI_FV_DXE_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_PEIM")) {\r
-            return EFI_FV_PEI_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_DRIVER")) {\r
-            return  EFI_FV_DXE_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER")) {\r
-            return EFI_FV_PEI_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_APPLICATION")) {\r
-            return EFI_FV_APP_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE")) {\r
-            return EFI_FV_FVI_FILETYPE_STR;\r
-        }\r
-        if (ffsFileType.equals("EFI_FV_FILETYPE_FFS_PAD")) {\r
-            return EFI_FV_FFS_FILETYPE_STR;\r
+        String[][] suffix = { { "BASE", ".FFS"},\r
+                              { "SEC", ".SEC" }, { "PEI_CORE", ".PEI" }, \r
+                              { "PEIM", ".PEI" }, { "DXE_CORE", ".DXE" },\r
+                              { "DXE_DRIVER", ".DXE" }, { "DXE_RUNTIME_DRIVER", ".DXE" }, \r
+                              { "DXE_SAL_DRIVER", ".DXE" }, { "DXE_SMM_DRIVER", ".DXE" }, \r
+                              { "TOOL", ".FFS" }, { "UEFI_DRIVER", ".DXE" },\r
+                              { "UEFI_APPLICATION", ".APP" }, { "USER_DEFINED", ".FFS" } };\r
+\r
+        for (int i = 0; i < suffix.length; i++) {\r
+            if (suffix[i][0].equalsIgnoreCase(moduleType)) {\r
+                return suffix[i][1];\r
+            }\r
         }\r
-        return "";\r
+\r
+        return ".FFS";\r
     }\r
 \r
 \r
@@ -959,4 +941,12 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
     public void setOutputDir(String outputDir) {\r
         this.outputDir = outputDir;\r
     }\r
+\r
+    public String getModuleType() {\r
+        return this.moduleType;\r
+    }\r
+\r
+    public void setModuleType(String moduleType) {\r
+        this.moduleType = moduleType;\r
+    }\r
 }\r