]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/autogen/CommonDefinition.java
Fixed grammar in messages.
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / autogen / CommonDefinition.java
index 2490d974672e8560acdef35556b2a7e056bb653b..fe3b46021197fb978aafae7483ad1032c9397530 100644 (file)
  **/\r
 package org.tianocore.build.autogen;\r
 \r
+import java.util.HashSet;\r
+import java.util.Iterator;\r
+import java.util.LinkedHashSet;\r
+import java.util.Set;\r
+\r
 /**\r
   CommonDefinition\r
   \r
@@ -44,11 +49,15 @@ public class CommonDefinition {
     public final static String autoGenHReleaseDefault = "#define EDK_RELEASE_VERSION        0x00000000\r\n";\r
 \r
     public final static String includeAutogenH        = "#include    <AutoGen.h>\r\n" ;\r
+    public final static String marcDefineStr          = "#define ";\r
 \r
     public final static String gEfi = "gEfi";\r
     public final static String protocolGuid = "ProtocolGuid";\r
     public final static String ppiGuid = "PpiGuid";\r
     public final static String guidGuid = "Guid";\r
+\r
+       public final static String tianoR8FlashMapH = "TianoR8FlashMap.h";\r
+       public final static String flashMapH = "FlashMap.h";\r
     \r
     //\r
     // AutoGen.h and AutoGen.c file's header\r
@@ -148,10 +157,10 @@ public class CommonDefinition {
                     new MyEnum("PEI_CORE", ModuleTypePeiCore),\r
                     new MyEnum("PEIM", ModuleTypePeim),\r
                     new MyEnum("DXE_CORE", ModuleTypeDxeCore),\r
-                    new MyEnum("DXE_DRIVER", ModuleTypeDxeRuntimeDriver),\r
+                    new MyEnum("DXE_DRIVER", ModuleTypeDxeDriver),\r
                     new MyEnum("DXE_RUNTIME_DRIVER", ModuleTypeDxeRuntimeDriver),\r
-                    new MyEnum("DXE_SAL_DRIVER", ModuleTypeDxeSmmDriver),\r
-                    new MyEnum("DXE_SMM_DRIVER", ModuleTypeDxeSalDriver),\r
+                    new MyEnum("DXE_SAL_DRIVER", ModuleTypeDxeSalDriver),\r
+                    new MyEnum("DXE_SMM_DRIVER", ModuleTypeDxeSmmDriver),\r
                     new MyEnum("UEFI_DRIVER", ModuleTypeUefiDriver),\r
                     new MyEnum("UEFI_APPLICATION", ModuleTypeUefiApplication) };\r
     \r
@@ -254,4 +263,92 @@ public class CommonDefinition {
       }\r
       return false;\r
     }\r
-}
\ No newline at end of file
+    \r
+    /**\r
+     * formateGuidName\r
+     * \r
+     * This function is to formate GUID to ANSI c form.\r
+     * \r
+     * @param guidNameCon\r
+     *            String of GUID.\r
+     * @return Formated GUID.\r
+     */\r
+    public static String formatGuidName(String guidNameConv) {\r
+        String[] strList;\r
+        String guid = "";\r
+        int index = 0;\r
+        if (guidNameConv\r
+                .matches("[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}")) {\r
+            strList = guidNameConv.split("-");\r
+            guid = "0x" + strList[0] + ", ";\r
+            guid = guid + "0x" + strList[1] + ", ";\r
+            guid = guid + "0x" + strList[2] + ", ";\r
+            guid = guid + "{";\r
+            guid = guid + "0x" + strList[3].substring(0, 2) + ", ";\r
+            guid = guid + "0x" + strList[3].substring(2, 4);\r
+\r
+            while (index < strList[4].length()) {\r
+                guid = guid + ", ";\r
+                guid = guid + "0x" + strList[4].substring(index, index + 2);\r
+                index = index + 2;\r
+            }\r
+            guid = guid + "}";\r
+            return guid;\r
+        } else if (guidNameConv\r
+                .matches("0x[a-fA-F0-9]{1,8},( )*0x[a-fA-F0-9]{1,4},( )*0x[a-fA-F0-9]{1,4}(,( )*\\{)?(,?( )*0x[a-fA-F0-9]{1,2}){8}( )*(\\})?")) {\r
+            strList = guidNameConv.split(",");\r
+\r
+            //\r
+            // chang Microsoft specific form to ANSI c form\r
+            //\r
+            for (int i = 0; i < 3; i++) {\r
+                guid = guid + strList[i] + ",";\r
+            }\r
+            guid = guid + "{";\r
+\r
+            for (int i = 3; i < strList.length; i++) {\r
+                if (i == strList.length - 1) {\r
+                    guid = guid + strList[i];\r
+                } else {\r
+                    guid = guid + strList[i] + ",";\r
+                }\r
+            }\r
+            guid = guid + "}";\r
+            return guid;\r
+        } else {\r
+            System.out\r
+                    .println("Check GUID Value, It doesn't conform to the registry format specified in the schema!!!");\r
+            return "0";\r
+\r
+        }\r
+    }\r
+    \r
+    /**\r
+     * Remove deuplicat string in list\r
+     * \r
+     * This function is to duplicat string in list\r
+     * \r
+     * @param String[]\r
+     *            String list.\r
+     * @return String[] String list which remove the duplicate string.\r
+     */\r
+    public static String[] remDupString (String[] orgList){\r
+        Set<String> strList = new LinkedHashSet<String>();\r
+        String[] desList ;\r
+        if (orgList == null){\r
+            return new String[0];\r
+        }\r
+        for (int i = 0; i < orgList.length; i++){\r
+            strList.add(orgList[i]);\r
+        }\r
+        desList = new String[strList.size()];\r
+        Iterator item = strList.iterator();\r
+        int index = 0;\r
+        while (item.hasNext()){\r
+            desList[index] = (String)item.next();\r
+            index++;\r
+        }\r
+        return desList;\r
+    }\r
+    \r
+}\r